Page 1 sur 1

variable d'une liste deroulante

Posté : 18 août 2008, 16:51
par Invité
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

Posté : 19 août 2008, 09:38
par Invité
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

Posté : 19 août 2008, 13:11
par chrislabricole
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à :)

Posté : 19 août 2008, 14:54
par steph29
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 ;)

Posté : 20 août 2008, 16:41
par Invité
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

Posté : 20 août 2008, 16:45
par steph29
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