menu deroulent avec selction qui modifie un lien
Forum Programmation : menu deroulent avec selction qui modifie un lien
Bonjour a tous:
Donc voilà j'ai un truc assès compliquer (je trouve) a realiser, donc si jamais vous aviez la possibilité de me fournir un code :
J'aurais aimer pouvoire créer un page php avecu n menu deroulant, une petit zone texte, et un bouton envoyer
Le seul probleme que si je met dans le menu deroulant:
"
Faites votre choix:
1
2
3
"
par exemple, et bien que si je selectionne 1 lorsque je vais cliquer sur envoyer, le visiteur sera envoyer vers: page1.php
Si je selectionne 2 et bien que sis je clique sur envoyer ça l'envoi sur page2.php et ainsi de suite...
En gros pour modifier selon la selection dans le menu deroulent, la cible du "envoyer"
Voilà je vous en remerci d'avance, a très vite j'espere
Message édité par Rilouko le 12-09-2007 à 15:01:05
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^
salut,
c'est pas compliqué...
Tu fais un formulaire donc du pur HTML, et dans celui ci tu fait une liste deroulante, avec comme value ce que tu veux...
et au clic du bouton, tu envoi vers le lien, un peu de javascript sera utile...
essayes de commencer un code, et dis nous où t'en est quand tu bloques...
Message édité par Mileskabal le 11-09-2007 à 00:34:58
Répondre à Mileskabal
Sinon tu peux simplement utiliser du php :
tu renvoie tout vers un script PHP, avec la valeur selectionnée en paramètre POST. Ensuite ton script PHP fait une redirection vers la page correspondante.
- onsubmit="sendForm(this);" à rajouter dans la balise form
- fonction javascript sendForm(form) à ajouter dans tes scripts :
function sendForm(form) {
var theSelect = document.getElementById('idDeTonSelect');
form.action = theSelect.options[theSelect.selectedIndex].value;
form.submit();
}
(pas testé mais ça devrait le faire)
Répondre à OmaR
Puisque ça lache les codes, je les lache aussi....
Code avec un bouton :
Code :
|
et le meme mais sans bouton, où il suffit de changer le menu deroulant et ça renvoit direct...
Code :
|
Et ça marche :!
Répondre à Mileskabal
pourquoi vous vous compliquez la vie avec des fonctions?
Code :
|
remarque, avec ie7?
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Salut a tous, merci pour ces raffales de codes/aides!!!! J'ai pas encore tous bien regarder mais faguement... Je sais pas si yen a d'autre a parMileskabal qui on donner un truc qui permet de modifier le lien d'envoye.
Car j'ai pas pressiser mais jvoudrais derrière remplire un formulaire et qu'après ils choissisent une sorte d'option qui changerais (selons la selection donc) le lien du bouton envoyer, mais sans que ça soit un lien direct, juste que ça change le code pour que envoyer envoie au clique, jusqu'au lien qu'on a fournit correcspondant a la selection du visiteur.
J'espere que tous ça m'ira bien pour pas avoir a monopoliser plus longtemps a ++
PS: je vais aller tester la merci!
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
Prend la méthode de coca, ça permet de changer le lien d'envoi et c'est le plus simple.
this.form.action définit la valeur "action" de ton formulaire, donc le lien
Message édité par OmaR le 11-09-2007 à 21:01:04
Répondre à OmaR
Salut, je te remerci coca25, et aussi les autres (OmaR_ShaRif, Mileskabal, xaebhal).
Je marque mon sujet [resolu] si jamais j'ai un autre question je rechange pour vous poser la question.
Merci a tous a++!
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
Salut a tous: j'ai esseiller le code de Mileskabal et il fonctionne super bien, mais maintenant je veu faire plus compliquer (penible? vous avez dit penible? noooon
... ^^)
En fait j'ai un bouton qui doit me servir a deux chause: choisir le lien de la selection du menu deroulant (ça c'est bon je l'est) mais je veu en plus rajouter dans le onclick que lorsque l'on clique, en plus de ce que m'a mis Mileskabal c'est a dire: "redirectLien()" et bien je voudrais mettre que "redirectLien()" et "ChangeStatut(this.form)"(les deux)
Car j'ai utiliser le code que Mileskabal m'a donner, et un que j'ai trouver sur l'editeur javascript qui me permet d'obliger de cocher "accepter le reglement".
Voilà je vous en remerci d'avance a++
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
tu les sépares par ";"
Message édité par coca25 le 12-09-2007 à 15:07:40
Penser à voir les tutos, ca peut aider!
Répondre à coca25
a ok!! merci je vais esseiller
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
Ca ne fonctionne pas... Car chacun des code a son script js c'est a cause de ça? Je les regroupe dans un même <script> ?
En faite ça reagit comme si ça actualisais la page html au lieu d'aller sur la page que je lui est indiquer
Merci d'avance a toi coca25 ou d'autres si il en arrive entre temps
Message édité par Rilouko le 12-09-2007 à 15:17:00
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
je ne sais pas ce qu'est sensé faire ChangeStatut (), je t'ai juste donné comment séparer 2 instructions javascript.
la fonction de Mileskabal comporte un
window.location.href = lien; |
ce qui a pour effet de changer l'adresse de la fenetre (d'où l'actualisation), si tu l'executes en premier, tout ce qui vient après ne sera pas lancé.
Penser à voir les tutos, ca peut aider!
Répondre à coca25
a ok donc il faut que je mette l'autre avant?
Bon sinon le changestatut est senser modifier le bouton: tans que l'on a pas cocher une case checkbox et bien le bouton envoyer reste inactif. Par contre si tu coche, le bouton deviendra actif.
Voilà le code du body:
<form action="" methed="post">
<p><input type="checkbox" name="regagree" value="valeur" onClick="ChangeStatut(this.form)" /> J'accepte le reglement</p>
<p><input type="submit" name="validation" value="S'enregistrer" disabled /></p>
</form>
et le code java script entre head et /head
<script type="text/javascript">
function ChangeStatut(formulaire) {
if(formulaire.regagree.checked == true) {formulaire.validation.disabled = false }
if(formulaire.regagree.checked == false) {formulaire.validation.disabled = true }
}
</script>
Et donc avec ça tans que tu coche pas tu peut pas poursuivre et moi je veu juste rajouter cette fontionnalité.
Merci a toi
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
je te passe les remarques comme quoi une page, ca doit pouvoir se contrôler au clavier ou à la souris (au choix)
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Je comprend pas ta remarque ^^
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
onClick
Répondre à OmaR
| Rilouko a écrit : Je comprend pas ta remarque ^^ |
ben imagine qu'un utilisateur utilise le clavier (c'est souvent mon cas) pour cocher la case et changer la liste déroulante... ta page ne fonctionnera pas car tu ne prends en compte que les clics de la souris.
je sais, je m'arrete à des détails (pas si détails que ca d'ailleurs), mais bon...
Penser à voir les tutos, ca peut aider!
Répondre à coca25
ah ok merci! bah... comment resoudre ça pour toi ^^ ?
Merci d'avance
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
perso je garderai le onchange
et pour la case à cocher:
Code :
|
tu peux le sortir en fonction pour rendre le code plus lisible (bien sur, dans ce cas, il faut pas garder le this)
Message édité par coca25 le 12-09-2007 à 21:35:47
Penser à voir les tutos, ca peut aider!
Répondre à coca25
Punese j'avais vu ton message hier, pile quand j'ai voulus repondre (au moment d'envoyer) ça m'a mis que idn n'etait plus accessible...
Bref donc la oui je peut te repondre:
Desoler mais j'ai pas compris ce que tu vien de m'expliquer (desoler d'etre embettent mais bon).
Je t'en remerci d'avance
A+ et merci de ton aide precieuse!
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^ Répondre à Rilouko
Il y a 1952 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
