[PHP-JS] Gestion de select avec php et javascript
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 :
Citation:
Ligne: 26
Caractère: 11
Erreur: 'randsr[...].length' a la valeur Null ou n'est pas un objet.
Code: 0
Ma fonction php :
Code:
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:
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:
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:
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:
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.