Se connecter avec
S'enregistrer | Connectez-vous

menu deroulent avec selction qui modifie un lien

Dernière réponse : dans Programmation

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
Lassé par la pub ? Créez un compte

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...
Expert Programmation

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

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

Code avec un bouton :
  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...

  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.  
  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 ça marche :!

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!

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

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

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é.

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

Rilouko a dit :
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...

perso je garderai le onchange
et pour la case à cocher:
  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)

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!
Lassé par la pub ? Créez un compte
Tom's guide dans le monde