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 :
Ligne: 26
Caractère: 11
Erreur: 'randsr[...].length' a la valeur Null ou n'est pas un objet.
Code: 0
Ma fonction php :
Code php : 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();
}

Mon code javascript qui est entre mes balises head:
Code Javascript : 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>

Et mes select du formulaire:
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>
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
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 (i0; i < randsr[lavaleurr].length; i++)
{ 
document.getElementById('lesraayon').options[i] = new Option(randsr[lavaleurr][i]);
}
}
</script>
et dans le body il me donne pour mes select :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<select name="leraayon" onchange="mlrsr()" id="leraayon">
          <option value="Espace Chaussure">Espace Chaussure</option>
          <option value="Rayon Homme">Rayon Homme</option>
          <option value="Coté Femme">Coté Femme</option>          
</select>
 
<select name="lesraayon" id="lesraayon">
</select>
Je ne comprend pas d'ou viens cette erreur.