Bonjour à tous,
Pour les besoin d'un travail scolaire, je dois réaliser à l'aide d'AJAX et JSON un petit formulaire qui "s'auto-rempli" lorsque l'on clique sur un bouton.
J'ai d'abord créer une variante, qui me semblait plus simple: lorsque l'on clique sur un bouton, le contenu s'affiche dans une div. Cet exemple fonctionne bien, et voici le code utilisé pour le réaliser:
Mon fichier index.php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Test AJAX - autocomplétion</title> <script type="text/javascript"> function test_json(nom) { var url = 'http://localhost/Ajax/noms/test_json.php?nom=' + nom; var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.send(null); xhr.onreadystatechange = function() { switch (xhr.readyState) { case xhr.DONE: if (xhr.status == 200) { var datas_json = JSON.parse(xhr.responseText); document.getElementById('result').innerHTML = datas_json.nom + " " + datas_json.prenom + " - " + datas_json.date_naissance; } else { alert(xhr.statusText); } break; } }; } </script> </head> <body> <h1>Choisir le nom</h1> <form> <input type="button" value="Tournesol" onclick="test_json('tournesol')"/> <input type="button" value="Dupond" onclick="test_json('dupond')"/> </form> <div id="result"></div> </body> </html>
Mon fichier test_json.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <?php if (isset($_GET['nom'])) { switch ($_GET['nom']) { case 'tournesol': $eleve = array( 'nom' => 'Tournsol', 'prenom' => 'Tryphon', 'date_naissance' => '21/12/1940'); break; case 'dupond': $eleve = array( 'nom' => 'Dupond', 'prenom' => 'Pierre', 'date_naissance' => '21/12/1958'); break; default: $eleve = array( 'nom' => 'Inconnu', 'prenom' => 'Soldat', 'date_naissance' => '08/05/1945'); break; } } $datas_json = json_encode($eleve); echo $datas_json; ?>
Les informations correspondant au nom sur lequel je clique s'affichent bien dans mon div.
Ce que je souhaite maintenant faire, c'est utiliser ces informations pour "auto-remplir" un formulaire situé à la place de ma div "result".
Si quelqu'un pouvait m'aider à y voir plus clair, ça serait très aimable. J'ai du louper quelque chose dans la logique mais quoi...
D'avance grand merci à vous!
Partager