Transmettre une value avec liste déroulante d'une requête php
Résolu
kaeliss
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
kaeliss Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
kaeliss Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
mon projet est de réaliser un jeu. et actuellement je plante sur une transmission de valeur via une liste déroulante. je présente mon code pour que sa soit plus explicite, il s'agit d'un affichage d'une liste d'objets:
je vous ai passé toutes les caractéristiques de l'objet. En résumé dans mon select je voudrais attribuer la valeur de l'identifiant de l'objet au deuxième choix du menu déroulant.
La requête affiche bien toutes les caractéristiques de chaque objet donc pas de soucis la dessus.
Ensuite je renvoi la valeur de l'identifiant dans une fonction javascript:
et la je peux vérifier que seul le premier identifiant peu être récupéré. les autres ayant une valeur nulle.
Je pense que le problème peut venir du getElementById, étant donné que chaque select aura le même id, il ne vérifie que le premier? ce n'est qu'une supposition et je n'arrive pas à m'en sortir...
si quelqu'un a une idée, ou si vous pensez que je me suis mal exprimé, j'attends vos réponses! merci
mon projet est de réaliser un jeu. et actuellement je plante sur une transmission de valeur via une liste déroulante. je présente mon code pour que sa soit plus explicite, il s'agit d'un affichage d'une liste d'objets:
while($row = mysql_fetch_array($req)) { echo $row["nomObjet"]; echo '<select name="equipe" id="equipe" onchange="equipeItem();"> <option value=" "> </option> <option value='.$row['id_inventaire'].'> équiper </option> </select>' }
je vous ai passé toutes les caractéristiques de l'objet. En résumé dans mon select je voudrais attribuer la valeur de l'identifiant de l'objet au deuxième choix du menu déroulant.
La requête affiche bien toutes les caractéristiques de chaque objet donc pas de soucis la dessus.
Ensuite je renvoi la valeur de l'identifiant dans une fonction javascript:
function equipeItem() { var equipe = document.getElementById("equipe").value; alert(equipe); }
et la je peux vérifier que seul le premier identifiant peu être récupéré. les autres ayant une valeur nulle.
Je pense que le problème peut venir du getElementById, étant donné que chaque select aura le même id, il ne vérifie que le premier? ce n'est qu'une supposition et je n'arrive pas à m'en sortir...
si quelqu'un a une idée, ou si vous pensez que je me suis mal exprimé, j'attends vos réponses! merci
A voir également:
- Transmettre une value avec liste déroulante d'une requête php
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Supprimer liste déroulante excel - Forum Réseaux sociaux
- Liste code ascii - Guide
1 réponse
Un id, c'est sensé être unique en html. Ton code produit n'est pas valide. Javascript ne récupère que le premier id (puisqu'il est sensé être unique...). De toute façon, s'il ne le faisait pas, que voudrais-tu qu'il prenne ? il en choisirait un au hasard ? Éventuellement, donne à chaque select un id unique avec l'id de l'objet :
Ceci devrait donner un id unique à chaque champ. Le champ appelant peut être récupéré par :
puis pour le javascript,
By the way, d'après la documentation php : « This extension [mysql_] is deprecated as of PHP 5.5.0 ». Tu devrait rapidement te mettre à PDO ou MySQLi
<select name="equipe" id="equipe'.$row['id_inventaire'].'" onchange="equipeItem();">
Ceci devrait donner un id unique à chaque champ. Le champ appelant peut être récupéré par :
onchange="equipeItem(this);"
puis pour le javascript,
function equipeItem(i) { var equipe = i.value; alert(equipe); }
By the way, d'après la documentation php : « This extension [mysql_] is deprecated as of PHP 5.5.0 ». Tu devrait rapidement te mettre à PDO ou MySQLi
cependant je n'ai jamais manipulé les this en php, par quel moyen récupère t-il l'identifiant? par le champ id?
Le champ id est en fait inutile ici, puisque l'objet est récupéré directement.