Bonjours, j'ai écrits une fonction PHP qui transmet un tableau à Javascript en le remplissant. Puis place dans un select(2) une partie du tableau quand le select(1) change. Cependant, Mon navigateur (Internet Explorer) m'indique une erreur :
Ma fonction php :Ligne: 26
Caractère: 11
Erreur: 'randsr[...].length' a la valeur Null ou n'est pas un objet.
Code: 0
Mon code javascript qui est entre mes balises head:
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 function listrayonsrayon() { require("identsql.php"); mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée"); mysql_select_db($dbbase) or die("La Base $dbbase n'existe pas"); $requete="SELECT nom,rayon FROM m_srayon ORDER BY rayon ASC"; $result=mysql_query($requete); $p=mysql_result($result , 0 , "rayon"); $o=mysql_num_rows($result); $q=0; $r=0; for($i=0;$i<$o;$i++) { if(mysql_result($result , $i , "rayon")!=$p) { $q=0; $r++; $p=mysql_result($result , $i , "rayon"); } echo "\n randsr[".$r."][".$q."] ='".mysql_result($result , $i , "nom")."'; \n randr[".$r."] = '".mysql_result($result , $i , "rayon")."'; \n"; $q++; } mysql_close(); }
Et mes select du formulaire:
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 <script language="javascript"> var randsr= new Array(); var randr= new Array(); <?php listrayonsrayon(); ?> function mlrsr() { var lavaleurr= document.getElementById('leraayon').options[document.getElementById('leraayon').selectedIndex].value; for (var i=0; i<randr.length; i++) { if(randr[i]==lavaleurr) lavaleurr = i; } for (i=0; i < randsr[lavaleurr].length; i++) { document.getElementById('lesraayon').options[i] = new Option(randsr[lavaleurr][i]); } } </script>
Quand j'affiche la page dans mon navigateur et que j'affiche le code source il me donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <select name="leraayon" onchange="mlrsr()" id="leraayon"> <?php listrayon() // creer des options et fonctionne bien?> </select> <select name="lesraayon" id="lesraayon"> </select>
Je ne vois pas d'où vient l'erreur, PHP faire bien sont travail. Mais Javascript ...???
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 <script language="javascript"> var randsr= new Array(); var randr= new Array(); randsr[0][0] ='Pantalon'; randr[0] = 'Coté Femme'; randsr[1][0] ='Ballerines & Mocasins'; randr[1] = 'Espace Chaussure'; randsr[2][0] ='Pantalon'; randr[2] = 'Espace Homme'; function mlrsr() { var lavaleurr = document.getElementById('leraayon').options[document.getElementById('leraayon').selectedIndex].value; for (var i=0; i<randr.length; i++) { if(randr[i]==lavaleurr) lavaleurr = i; } for (i=0; i < randsr[lavaleurr].length; i++) { document.getElementById('lesraayon').options[i] = new Option(randsr[lavaleurr][i]); } } </script>
Partager