Forum Clubic

[Javascript] Bug étrange oO [Resolu]

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

Déjà le window devant alert est superflu.
Ensuite pour les listes déroulantes, t’as quand même plus simple qu’innerHTML.

D’ailleurs quelqu’un a déjà bossé sur un truc du genre :

http://www.clubic.com/forum/index.php?show…4&hl=<option

Ouep, ca c’etait la fonction d’origine… moi je pensais faire un return sur sel, et l’afficher ensuite dans le php. Merci pour le lien, jvai voir ca

pfff, jpouvai chercher longtemp :smiley:

J’avai bien fait gaffe au apostrophe des département dans la bdd (qui bloquait le script), mai j’ai oublié val d’oise. En remplacant dans la bdd par val d\'oise ca fonctionne.

Ca fait des heures que je débug, et c just quand je post que je trouve :D… Dsl pour le dérangement

Y a addslashes pour ce genre de problèmes…