Bonjour, je suis entrain de réaliser un formulaire avec une verification de code postal en Ajax.
Le problème est qu'arrivé au moment ou la partie javascript est censé lire le xml que lui envoie mon fichier
php quelque chose ne marche pas.. Mais je n'arrive pas à savoir quoi (et je ne suis pas trés calé en javascript)
Voici tout d'abord un extrait de la fonction du fichier php (tout marche bien de ce côté normalement ) :
La partie javascript correspondante :$codepostal = $_POST["codepostal"];
$codepostal = intval($codepostal);
$sql = "SELECT loc_nom FROM localite WHERE loc_cp = $codepostal";
$dbresult = $dbh->query($sql);
$localite = array();
if($dbresult && $rows = $dbresult->fetchAll()){
for($i=0;$i< count($rows);$i++){
$localite[$i] = $rows[$i]['loc_nom'];
}
}else{
$localite[0] = "false";
}
Et firebug me donne l'erreur suivante : resultat[i].item is not a function.function afficheVille(obj){
ville_alert = document.getElementById('ville_alert');
// suppression du texte existant
while (ville_alert.firstChild != null) {
ville_alert.removeChild(ville_alert.firstChild);
}
// Construction des noeuds
var tabResult = obj.responseXML;
var resultat =[];
var laville = '';
var content=[];
for(i=0; i< tabResult.childNodes.length;i++)
{
resultat[i] = tabResult.getElementsByTagName('resultat')[i];
content[i] = resultat[i].item(0);
laville[i] = content[i].getAttribute('laville');
if(laville[i] == "false"){
ville_alert.options[i] = new Option(' ... ', ' ... ');
}else{
ville_alert.options[i] = new Option(laville[i], laville[i]);
}
}
}
Le comportement attendu est que j'obtienne donc les ' ...' si aucunes villes ne correspond, et les villes si le code postal correspond.
Partager