Hello tout le monde.
Voila je cherchais à lier 2 combobox entre elles sur un formulaire : Le truc classique : On choisi une région, et le combo du dessous ne met que les département de cette région.
J’ai trouve un script : http://www.phpcs.com/code.aspx?ID=25832 que j’ai integré à mon code. En faisant bien attention de tout bien réintegré, nom des var, formulaire etc…, mon combo Dep reste vide…
Jme suis donc penche sur un débugage ligne par ligne (truc bien chiant), et c’est dans la fonction js que ca bloque :
<script language="JavaScript">
List = new Array();
function Remplir(valeur)
{
var sel="";
var i=0;
sel ="<select size='1' name='departement'>";
// Parcourir le tableau
while (i<List.length)
{
// tester si la ligne du tableau (Sous-catégorie) correspond à la valeur de la catéhorie
if (List[i][1]==valeur)
{
// Ajouter une rubrique sous-catégorie au variable SEL
sel= sel + "<option value="+List[i][0]+">"+List[i][2]+"</option>";
}
i=i+1;
window.alert(sel);
}
//sel =sel + "</select>";
//document.getElementById('scat').innerHTML=sel;
}
Voila donc en résumé, ce que j’ai testé :
J’ai affiché List[i][0], List[i][1], List[i][2] dans le while, et tout etait nikel!
J’affiche comme l’indique le code le contenu de la variable sel, et jusque la, tout est comme prévu!
Mais la ou ça ne marche plus c’est lorsque je déplace le alert(sel) de cette façon :
while (i<List.length)
{
// tester si la ligne du tableau (Sous-catégorie) correspond à la valeur de la catéhorie
if (List[i][1]==valeur)
{
// Ajouter une rubrique sous-catégorie au variable SEL
sel= sel + "<option value="+List[i][0]+">"+List[i][2]+"</option>";
}
i=i+1;
//window.alert(sel); -> sel en commentaire, je ne l'affiche plus ici
}
window.alert(sel); //Je le deplace ici!!
//sel =sel + "</select>";
//document.getElementById('scat').innerHTML=sel;
Et bien dans cette configuration, je n’ai aucune alerte d’affiché… ALors que dans la premiere configuration, il m’affiche bien le contenu de la variable sel
Jpeu meme mettre 'window.alert(“tata”); c’est le meme combat : rien ne s’affiche… On dirait que la fonction ne s’execute plus apres la boucle. Mais je ne comprend vraiment pas pourquoi!
Merci de me m’aider à sortir de cette embrouille, car une fois de plus , je suis dépassé par les mystères informatiques ^^
Edit : Le tableau List est rempli dans le code php. Cf le lien ci dessus