Bonjour, j'ai un probleme sur une fonction javascript. il doit y avoir un probleme de syntaxe que je ne comprend pas. Le but de la fonction est de rediriger vers une page en passant une série de parametres.
Donc quand nombre=1, pas de probleme, le lien est bien: page.php?idcacegorie=1&nbgenre=1&genre1=1 et l'on ne passe pas dans la boucle while.
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 valideGenre(page, nombre) { var lien=""; lien="document.location.href=page+'?idcategorie='+document.getElementById('categorie').options[document.getElementById('categorie').selectedIndex].value"; if (document.getElementById('nbgenre').value != "") { var nbgenres = parseInt(nombre)+1; lien += "+'&nbgenre='+nbgenres"; var i=1; //boucle while (i < nbgenres) { var namegenre= "genre"+i+""; var namegenre2= "&genre"+i+""; lien+="+namegenre2+'='+document.getElementById(namegenre).value"; i++; } lien+="+'&genre'+i+'='+document.getElementById('genre').options[document.getElementById('genre').selectedIndex].value"; eval(lien); } }
quand nombre= 2, pas de probleme. on passe dans la boucle while puis dans l'instruction après la boucle.
le lien est: page.php?idcategorie=1&nbgenre=2&genre1=2&genre2=4
par contre quand nombre =3, j'obtiens
page.php?idcategorie=1&nbgenre=3&genre2=4&genre2=4&genre3=3
donc j'ai un "genre2" au lieu d'un "genre1".
Je ne vois pas pourquoi ma boucle while ne fonctionne pas bien.
Merci d'avance.
Partager