Comme je suis un gros fainéant, je souhaite faire des indirections (on
appelle ca comme ca dans d'autres langages de prog)
sur les noms de ces champs dans une boucle javascript, sachat qu'ils
commencent tous par la lettre R et que la suite correspond à
la valeur de i de la boucle ?
pour l'instant, j'ai ce code :
if (document.formq.R1.selectedIndex==1){
document.getElementById('REP1').value=formq.R1.options[formq.R1.selectedIndex].text;
justes++
}
if (document.formq.R2.selectedIndex==1){
document.getElementById('REP2').value=formq.R2.options[formq.R2.selectedIndex].text;
justes++
}
etc...
Et je voudrais arriver à cela... (les ... correspondants à la valeur de i)
for (i=1;i<=nbchamp;i++) {
if (document.formq.R.... .selectedIndex==1){
document.getElementById('REP...').value=formq.R....options[formq.R....selectedIndex].text;
justes++
}
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
BMR
Bonjour,
Voilà le problème..
Un formulaire en HTML incluant :
champ R1 champ R2 champ R3 etc..
Comme je suis un gros fainéant, je souhaite faire des indirections (on appelle ca comme ca dans d'autres langages de prog) sur les noms de ces champs dans une boucle javascript, sachat qu'ils commencent tous par la lettre R et que la suite correspond à la valeur de i de la boucle ?
pour l'instant, j'ai ce code :
if (document.formq.R1.selectedIndex==1){ document.getElementById('REP1').value=formq.R1.options[formq.R1.selectedIndex].text; justes++ } if (document.formq.R2.selectedIndex==1){ document.getElementById('REP2').value=formq.R2.options[formq.R2.selectedIndex].text; justes++ }
etc...
Et je voudrais arriver à cela... (les ... correspondants à la valeur de i)
for (i=1;i<=nbchamp;i++) { if (document.formq.R.... .selectedIndex==1){ document.getElementById('REP...').value=formq.R....options[formq.R....selectedIndex].text; justes++ } }
Merci par avance de vos conseils
Denis
Il faudrait déjà "soulager" le code pour ne pas avoir à répéter document.formq, grâce à l'opérateur with. Puis utiliser la collection elements :
with (document.formq) { for (i=1;i<=nbchamp;i++) { if (elements['R'+i].selectedIndex==1){
Ce serait plus simple avec le "value" : document.getElementById('REP'+i).value=elements['R'+i].value;
BMR
Bonjour,
Voilà le problème..
Un formulaire en HTML incluant :
champ R1
champ R2
champ R3
etc..
Comme je suis un gros fainéant, je souhaite faire des indirections (on
appelle ca comme ca dans d'autres langages de prog)
sur les noms de ces champs dans une boucle javascript, sachat qu'ils
commencent tous par la lettre R et que la suite correspond à
la valeur de i de la boucle ?
pour l'instant, j'ai ce code :
if (document.formq.R1.selectedIndex==1){
document.getElementById('REP1').value=formq.R1.options[formq.R1.selectedIndex].text;
justes++
}
if (document.formq.R2.selectedIndex==1){
document.getElementById('REP2').value=formq.R2.options[formq.R2.selectedIndex].text;
justes++
}
etc...
Et je voudrais arriver à cela... (les ... correspondants à la valeur de i)
for (i=1;i<=nbchamp;i++) {
if (document.formq.R.... .selectedIndex==1){
document.getElementById('REP...').value=formq.R....options[formq.R....selectedIndex].text;
justes++
}
}
Merci par avance de vos conseils
Denis
Il faudrait déjà "soulager" le code pour ne pas avoir à répéter
document.formq, grâce à l'opérateur with. Puis utiliser la collection
elements :
with (document.formq) {
for (i=1;i<=nbchamp;i++) {
if (elements['R'+i].selectedIndex==1){
Comme je suis un gros fainéant, je souhaite faire des indirections (on appelle ca comme ca dans d'autres langages de prog) sur les noms de ces champs dans une boucle javascript, sachat qu'ils commencent tous par la lettre R et que la suite correspond à la valeur de i de la boucle ?
pour l'instant, j'ai ce code :
if (document.formq.R1.selectedIndex==1){ document.getElementById('REP1').value=formq.R1.options[formq.R1.selectedIndex].text; justes++ } if (document.formq.R2.selectedIndex==1){ document.getElementById('REP2').value=formq.R2.options[formq.R2.selectedIndex].text; justes++ }
etc...
Et je voudrais arriver à cela... (les ... correspondants à la valeur de i)
for (i=1;i<=nbchamp;i++) { if (document.formq.R.... .selectedIndex==1){ document.getElementById('REP...').value=formq.R....options[formq.R....selectedIndex].text; justes++ } }
Merci par avance de vos conseils
Denis
Il faudrait déjà "soulager" le code pour ne pas avoir à répéter document.formq, grâce à l'opérateur with. Puis utiliser la collection elements :
with (document.formq) { for (i=1;i<=nbchamp;i++) { if (elements['R'+i].selectedIndex==1){