Bonjour,
Je bloque sur mon formulaire d'inscription:
Mon but est de remplir une liste déroulante avec des informations présentes dans ma base de données en fonction d'un champ du formulaire de type text (Concrètement, on tape un code postal dans un champ, et à la perte du focus, la liste qui suit propose les villes correspondantes à ce code postal)
Jusque là ça fonctionne, la liste se créer correctement.
Par contre, après validation du formulaire, je ne récupère aucune information de la liste.
Donc au final je peux pas m'en servir...
Mon formulaire:
Code xhtml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <form name="inscription" method="post" action="index.php?page=inscription-valide"> Code postal: <input id="cp" class="obligatoire" type="text" name="on_cp" size="10" maxlength="15" onBlur="liste('cp', 'ville', 'ajax.php');"> Ville: <div id="ville"> <select name="oc_ville"> <option value="-1">Choisir</option> </select> </div>
Ma fonction javascript:
Code javascript : 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 function liste(id1, id2, file) { var xhr = getxhr(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; document.getElementById(id2).innerHTML = leselect; } } xhr.open("POST", file, true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); sel = document.getElementById(id1); cp = sel.value; xhr.send("cp="+cp); }
La page appelée par la fonction:
Code php : 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 <?php if (isset($_POST['cp'])) { $cp = $_POST['cp']; $db = my_connect(); $sql = "select * from ville where cp = '$cp' order by ville"; $result= exec_req($sql); echo "<select name='oc_ville'>"; while($liste= mysql_fetch_array($result)) { $id = $liste['idville']; $ville = $liste['ville']; echo "<option value=\"$id\""; echo ">$ville</option>"; } } echo "</select>"; deconnect($db); ?>
La récupération des données du formulaire:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <?php $idville = $_POST['oc_ville']; //c'est la ligne 15 ?>
Sur la page de récupération j'ai le message d'erreur suivant:
"Notice: Undefined index: oc_ville in C:\wamp\www\eboutique\inscription-valide.php on line 15"
Pour info, j'ai suivi ce tuto pour faire des listes liées, je n'ai pas eu de problème, j'ai donc repris le même principe pour ce formulaire, et malgré un bon week end de recherche, je n'ai trouvé aucune erreur de syntaxe (ce qui ne veut pas dire qu'il n'y en a pas ^^) et aucune information pouvant m'aider sur les forums.
Si quelqu'un pouvait me débloquer...
Merci beaucoup.
Partager