bonjour a tous,
je vais vous exposer rapidement mon problème.
j'ai adapté un existant qu'on m'a donné pour créer une liste déroulante qui se met a jour en fonction d'un autre champ
on rentre un code postal et en cliquant à coté de la zone de texte une liste déroulante affiche toutes les villes correspondantes au cp rentré.
cette petite fonction (qui est en JS et xml) ce trouve dans un formulaire que je doit ensuite enregistrer dans ma base de donnée. jusqu'ici tout marche mais à l'envoi dans la base j'obtient le message suivant :
tout est enregistré dans la base sauf la ville."Notice: Undefined index: Ville in D:\wamp\www\SiteSimon\new_ent.php on line 14"
je pense que le problème est qu'avec le JS la liste n'est pas prise en compte et je ne vois pas comment y remédier
voila le coté JS :
le morceau du côté html :
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 function interrogeXML(p_ville) { var villes = arbreXML.getElementsByTagName('Com_Nom'); var cp = arbreXML.getElementsByTagName('Com_CodePostal'); var str = ""; str = '<select name="ville">'; for (i = 0; i < cp.length; i++) { uncp = cp.item(i).firstChild.data; //alert(donnees.length); if (uncp.indexOf(p_ville.toUpperCase()) != -1) { str += "<option>"+ villes.item(i).firstChild.data + "</option>" } } str += "</select>"; document.getElementById("villes").innerHTML = str; } var reqAjax = new XMLHttpRequest(); reqAjax.open('GET', 'Commune.xml', false) reqAjax.send(null); var arbreXML = reqAjax.responseXML;
et le php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <TR> <TD>CP de l'entreprise</TD> <TD> <input type="text" name="CP" maxlength="5" onchange="interrogeXML(this.value);"></input> </TD> </TR> <TR> <TD>ville de l'entreprise</TD> <TD> <div id="villes" name="Ville"> </div> </TD> </TR>
le xml est en piece jointe et zipé sinon il était trop lourd mais voici un extrait pour vous donné une idée de la chose :
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 <?php //établissement de la connexion à la base de données include("connectBDD.php"); //récupération des variables du formulaires $siret= $_POST["SIRET"]; $nom= $_POST["Nom"]; $naf= $_POST["NAF"]; $ape= $_POST["APE"]; $tel= $_POST["Tel"]; $mail= $_POST["Mail"]; $rue= $_POST["Rue"]; $cp= $_POST["CP"]; $ville= $_POST["Ville"]; $type_lib= $_POST["ent_type"]; if($type_lib=='client') { $type_code == 1; } else if($type_lib=='fournisseur') { $type_code == 2; } else if($type_lib=='partenaire') { $type_code == 3; } else if($type_lib=='prospect') { $type_code == 4; } //variable contenant le code de la requête d'insertion $requete="insert into entreprise values ('$siret', '$nom', '$naf', '$ape', '$tel', '$mail', '$rue', '$ville', '$cp', '$type_lib');"; //exécution de la requête d'insertion $resultat=mysql_query($requete) or die ("Erreur sur la requête :$requete");
je ne voudrais pas faire l'exigent mais mon stage ce fini vendredi donc si je pourrais avoir une réponse avant ça serait sympa
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 <COMMUNE> <Com_ID>15714</Com_ID> <Com_Nom>ST DENIS LES BOURG</Com_Nom> <Com_CodePostal>01000</Com_CodePostal> </COMMUNE> <COMMUNE> <Com_ID>15707</Com_ID> <Com_Nom>BOURG EN BRESSE</Com_Nom> <Com_CodePostal>01000</Com_CodePostal> </COMMUNE> <COMMUNE> <Com_ID>15708</Com_ID> <Com_Nom>FRANCHELEINS</Com_Nom> <Com_CodePostal>01090</Com_CodePostal> </COMMUNE>![]()
sinon je ferais sans
c'est surement un petit truc bête mais je suis loin d'être un pro et je ne peut pas le devenir pour les 3 jours qu'il me reste
merci d'avance.
Partager