variable d'une liste deroulante

Invité
Invité n'ayant pas de compte PHPfrance

18 août 2008, 16:51

A partir d'une liste déroulante, j'aimerai lorsque je sélectionne un enregistrement que le matricule de celui ci soit mis dans une variable, ainsi sur la même fenêtre, lorsque je clique sur un bouton j'affiche une fiche détaillé concernant cette enregistrement.
J'ai donc dans le select l'option
onchange="lieu.value=this.options[this.selectedIndex].lieu"
J'ai un champ lieu qui affiche bien le matricule, mais de quel manière procéder pour que celui ci devienne variable du bouton afficher ?

merci

Invité
Invité n'ayant pas de compte PHPfrance

19 août 2008, 09:38

y aurait t il pas un moyen de prendre en compte la variable en faisant un truc de se genre :
<a href="affiche.php?num=javascript:document.enreg.lieu.value();" target="_blank" >Afficher</a>

cela ne fonctionne pas, mais es-ce que j'approche ?

merci

Mammouth du PHP | 959 Messages

19 août 2008, 13:11

Bah, pour faire se que tu veux, à ta place, je ferai une fonction...
J'ai pas tout bien compris se que tu voulais, mais je faire comme si oui :)

Donc tu peux créer une fonction change_matricule()

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> function change_matricule(cle){; lieu.value = cle; document.getElementById('lien_matricule').innerHTML = '<a href="affiche.php?num='+cle+'" target="_blank" >'+cle+'</a>'; } </script>
ton onchange :

Code : Tout sélectionner

onchange="change_matricule(this.selectedIndex);"
ton champs...
puis ton lien

Code : Tout sélectionner

<span id="lien_matricule">Sélectionnez pour afficher</span>
Voilà, j'ai fais ce code vite fais sans tester mais le principal est là :)

Eléphant du PHP | 175 Messages

19 août 2008, 14:54

si ton bouton afficher est dans un formulaire, il suffit de rajouter un input type hidden:

Code : Tout sélectionner

<form action="" method="post"> <input type="hidden" name="lieu" id="valeur_lieu" value="" /> <input type="submit" value="afficher" /> </form>
il suffit ensuite de faire :

Code : Tout sélectionner

onchange="document.getElementById("valeur_lieu").value=this.options[this.selectedIndex].lieu"
en cas de validation du bouton afficher tu auras une variable $_POST['lieu'] avec la bonne valeur ;)

Invité
Invité n'ayant pas de compte PHPfrance

20 août 2008, 16:41

le problème avec ta solution steph c'est que j'ai déjà un formulaire, donc je ne peux pas mettre un formulaire dans un formulaire. Je test pour ta solution chrislabricole

merci

Eléphant du PHP | 175 Messages

20 août 2008, 16:45

justement ....
ton bouton afficher fait bien une action...

il faut juste un input type hidden pour stocker la valeur et la passser au script suivant...

donne le code de ton formulaire sinon