Tom's Guide > Forum > Programmation > menu deroulent avec selction qui modifie un lien

menu deroulent avec selction qui modifie un lien

Forum Programmation : menu deroulent avec selction qui modifie un lien

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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
------------------------------ http://lescamions.free.fr
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^

 

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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
------------------------------ Savoir c'est vivre, et maintenir dans l'ignorance, c'est presque un homicide.
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.

Répondre à xaebhal

- 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)

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

Puisque ça lache les codes, je les lache aussi....

Code avec un bouton :

Code :
  1. <form name="nomFormulaire">
  2. <select name="choixLien">
  3. <option value="" selected>--Choisir Page-- </option>
  4. <option value="lien1.php">Lien 1</option>
  5. <option value="lien2.php">Lien 2</option>
  6. <option value="lien3.php">Lien 3</option>
  7. </select>
  8. <input type="button" value="envoyer" onclick="redirectLien()" />
  9. <script type="text/javascript">
  10. function redirectLien() {
  11.     var lien = nomFormulaire.choixLien.options[nomFormulaire.choixLien.selectedIndex].value;
  12.     if(lien != "" ){
  13.         window.location.href = lien;
  14.     }
  15. }
  16. </script>
  17. </form>



et le meme mais sans bouton, où il suffit de changer le menu deroulant et ça renvoit direct...

Code :
  1. <form name="nomFormulaire">
  2. <select name="choixLien" onchange="redirectLien()">
  3. <option value="" selected>--Choisir Page-- </option>
  4. <option value="lien1.php">Lien 1</option>
  5. <option value="lien2.php">Lien 2</option>
  6. <option value="lien3.php">Lien 3</option>
  7. </select>
  8. <script type="text/javascript">
  9. function redirectLien() {
  10.     var lien = nomFormulaire.choixLien.options[nomFormulaire.choixLien.selectedIndex].value;
  11.     if(lien != "" ){
  12.         window.location.href = lien;
  13.     }
  14. }
  15. </script>
  16. </form>




Et ça marche :!

------------------------------ Savoir c'est vivre, et maintenir dans l'ignorance, c'est presque un homicide.
Répondre à Mileskabal

pourquoi vous vous compliquez la vie avec des fonctions? :p

Code :
  1. <select ..... onchange='this.form.action = this.value'>


remarque, avec ie7?

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
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!

------------------------------ http://lescamions.free.fr
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
------------------------------ Les dessins des seins ou les desseins des saints ?
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++!

------------------------------ http://lescamions.free.fr
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++

------------------------------ http://lescamions.free.fr
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
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

a ok!! merci je vais esseiller

------------------------------ http://lescamions.free.fr
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
------------------------------ http://lescamions.free.fr
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é.

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
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

------------------------------ http://lescamions.free.fr
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) :p

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Je comprend pas ta remarque ^^

------------------------------ http://lescamions.free.fr
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^

 

Répondre à Rilouko

onClick :)

------------------------------ Les dessins des seins ou les desseins des saints ?
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...

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

ah ok merci! bah... comment resoudre ça pour toi ^^ ?
Merci d'avance :)

------------------------------ http://lescamions.free.fr
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 :
  1. <form ... onsubmit="if (!this.regagree.checked) {alert ('faut cocher');return false}">


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
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
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!

------------------------------ http://lescamions.free.fr
Je sais quand j'ai tort, j'ai juste du mal a le reconnaitre ^^

 

Répondre à Rilouko

Tom's Guide > Forum > Programmation > menu deroulent avec selction qui modifie un lien
Aller à :

Il y a 1952 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens