|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonjour,
Je suis nouveau ici ainsi qu'en dev. Voilà je me permets de poser un question car j'ai un petit soucis avec un la balise <select>. Chaque ligne de la liste de mes utilisateurs enregistrés se termine par une liste déroulante où je liste les différents groupe à affecter aux utilisateurs (Administrateur, Utilisateur, Invité etc...) et un bouton permettant d'affecter l'utilisateur au groupe. La liste déroulante est un script php qui me permet d'afficher les occurences de ma table Groupe. Pour que chaque ligne se termine par cette liste, j'ai placé le script dans une boucle while. Voilà mon <select> : echo "<td><SELECT name = 'cboDemande' id='cboDemande' onchange='DemandeComboChanged()'> et ma fonction javascript DemandeComboChanged() function DemandeComboChanged() { var currentDocument = document.all; currentDocument.strUserId.value = currentDocument.cboDemande.options[document.all.cboDemande.selectedIndex].id; } Tant que j'utilise cela pour l'affichage d'un seul <select>, tout se passe parfaitement bien, je récupère bien la valeur attendue dans mon POST. Mais lorsque je place le <select> dans une boucle, je n'ai plus rien dans mon POST. J'imagine que le problème est lié à l'attribut name ou id de mon <select>. Je ne vois pas comment changer dynamiquement le name ou l'id de cboDemande en cboDemande# Et je ne vois pas comment récupérer cette info dans ma fonction javascript puisque l'attribut y figure currentDocument.strUserId.value = currentDocument.cboDemande.options[document.all.cboDemande.selectedIndex].id; StrUserId est utilisée pour le POST echo '<input type="hidden" name="strUserId" id="strUserId"/>'; IE7 retourne l'erreur : 'cboDemande.options' is null or not an object Merci pour toute participation |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : août 2006 Messages : 78 ![]() |
Hello,
Normal que cela ne marche pas car le name est le même pour tous. Donc tu peux faire quelque chose du genre: Code :
echo "<td><SELECT name = 'cboDemande_".$i++."' id='cboDemande_".$i++."' onchange='DemandeComboChanged(this)'> Et dans le javascript tu travaille avec l'objet this. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() |
Bonjour et merci, désolé de ne pas avoir répondu plus tôt, le système ne me le permettais pas et je viens de recevoir seulement maintenant l'activation de mon compte.
Donc c'est bien ce que je pensais, un problème d'identification vu que tous portait le même nom et le même id. J'ai commencé par utiliser le This mais un gentil developpeur m'a aidé et a mis le bazard donc mon code, bref j'ai utilisé une autre methode. En tout cas merci, tu m'as bien dépanné, je pensais à This. Juste une petite remarque, tu mets nom="cboDemande_'.$i++ et id="cboDemande'.$i++ ce qui pose un probleme puisque cette ligne créé un décalage dans les noms des objets. J'ai donc écrit plutot nom="cboDemande_'.$i et nom="cboDemande_'.$i puis j'ai incrémenté $i ailleurs dans le code. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com