Petit script pour des zones de texte dynamiques

Résolu
cs_clenio Messages postés 26 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 28 novembre 2006 - 21 févr. 2006 à 17:05
cs_clenio Messages postés 26 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 28 novembre 2006 - 22 févr. 2006 à 07:27
héllo

Je suis en train de faire mes premiers pas (et premières armes) en php et javascript.
Mon code récupère la valeur du SELECT et doit afficher en conséquence des infos dans les zones de texte dynamique (

).
Mais ca marche pas !!! Y'a une erreur et j'arrive pas à la voir.

voici le code :
<html>
<head>
</head>

<SELECT name="liste" onChange="redraw(this)">
<option value="choix1">choix1</option>
<option value="choix2">choix2</option>
</SELECT>
div1 :
.

div2 :
.

div3 :
.

div4 :
.

<script language="Javascript">
//<!--
function redraw(select)
{
var table=new Array("choix1";"Antoine";"0";"choix1";"Clément";"10";"choix2";"Sylvain";"0");
var choix = select.value;
var index = 1;
for(i = 0;i < table.length;i += 3)
{
if(table[i] == choix)
{
document.all["DIV" + index].innerHTML = table[i + 1];
index++;
}
}
}
//-->
</script>

</html>

Merci d'avance.
Clénio

3 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 févr. 2006 à 06:26
Bonjour,

il faut activer le debugger

avec IE télécharger le debugger commun VBScript et JavaScript
sur le site MicroSoft : gratis, permet de faire de pas à pas, de
visualiser les contenus des variables, aide à l'écriture...

avec FF, la console affiche au moins l'erreur et la ligne

°var table= new Array("choix1","Antoine","0","choix1","Clément","10","choix2","Sylvain","0");
des , pas des ;

°document.all["DIV" + index]....
document.getElementById("DIV"+index).... serait mieux
° for(i = 0;i < table.length;i += 3)
je ne vois pas bien à quoi ça sert puisque le select ne contient
que 2 options.
°
redraw(select) var table=
éviter pour les noms utilisés de prendre des noms
que le html/javascript connait et lui sont réservés.
° <option value="choix1">choix1</option>
pourquoi mettre une value = texte ?

... doit y avoir d'autres trucs, mais c'est normal en débutant.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~
<FO>
</FO>
</S< body>
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
22 févr. 2006 à 06:27
j'ai oublié :

<script type="text/javascript">
<!--

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
3
cs_clenio Messages postés 26 Date d'inscription mardi 14 janvier 2003 Statut Membre Dernière intervention 28 novembre 2006
22 févr. 2006 à 07:27
Merci bcp Bul pour ton aide.

Pour le document.all[], c'est pour IE. Dans mon code réel j'ai un if() else pour choisir entre Mozilla et IE. mais ca je sais que c'est bon donc j'ai pas voulu ralongé!

Pour le "table.length", c'est parce que le select est rempli par un requete sql donc la taille est variable. Ca aussi ca marche parfaitement, donc j'ai coupé lol.

Et pour la valeur des options, c'est pareil. C'est un identifiant en vrai et une chaine de caractère pour le texte.

Merci encore.
Je post ma source dès que tout marche
0
Rejoignez-nous