Faire varier l'url d'envoi dans "action" d'un formulaire
louloute8091
Messages postés14Date d'inscriptionsamedi 18 juin 2005StatutMembreDernière intervention15 mars 2007
-
15 mars 2007 à 15:10
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 2023
-
15 mars 2007 à 20:18
Bonjoutr
Je suis en train de faire une bannière avec un menu déroulant. Chaque valeur de ce menu doit pointer vers une url différente quand on clique sur "OK".
Voilà ce que j'ai tenté de faire mais cela ne fonctionne pas :
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 mars 2007 à 15:38
Bonjour,
°°mauvaise syntaxe : document.forms['form'].action("http://...");
document.forms['form'].action="http://..."; ça irait mieux
IE,FF,K-Melaon,Opera... donnent une erreur de syntaxe, c'est sûr
avec IE, activer le deboggage, et mieux, télécharger le "Debogger IE"
avec FF, regarder la "console d'erreurs", et mieux, télécharger "FireBug"
°°ne pas utiliser de mots réservés au html/javascript.
<form name="form" method="post">
<form name="formulaire" method="post">
du coup, donc : document.formulaire.action=("http://...");
°°pourquoi ne pas mettre les url dans les value des options ?
et au lieu de tester selectedIndex ( autant de tests que de lignes,
en informatique, faut se poser des questions, il doit y avoir plus simple )
utiliser
document.formulaire.menu[document.formulaire.menu.selectedIndex].value
avec ... <option value="http://www.voila.fr">Voila</option> ...
par exemple.
°°pourquoi un submit d'un formulaire ?
un formulaire c'est fait pour envoyer des données ( et je ne parlerais pas
de onsubmit, qui est fait pour quand on envoie un formulaire, quand
on clique sur le bouton submit )
location.href=nouvelle url, ça baigne aussi, par exemple.
louloute8091
Messages postés14Date d'inscriptionsamedi 18 juin 2005StatutMembreDernière intervention15 mars 2007 15 mars 2007 à 16:09
Merci pour ta réponse..mais je n'ai pas tout saisi
J'ai bien mis la "value" de mes "option" et changer le nom de mon form ...après je n'arrive pas à créer la fonction appropriée pour récupérer cette value :
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 15 mars 2007 à 16:24
bien le bonjour, le plus simple c'est de mettre un id à ton select :
<select name="menu" id="select">
<option selected="selected"></option>
<option value="http://www.google.fr">choix1</option>
<option value="http://www.wanadoo.fr">choix2</option>
<option value="http://www.yahoo.fr">choix3</option>
<option value="http://www.voila.fr">choix4</option>
</select>
et dans ta fonction lien :
function liens(){
// récupère le contrôle select
var sel = document.getElementById("select");
// ouvre la page selectionnée, si le tag value est renseigné
if ( sel.options[sel.selectedIndex].value != "")
window.open(sel.options[sel.selectedIndex].value, "test");
}
Le truc c'est qu'avec IE, il ouvre une nouvelle fernêtre mais pas avec FF....
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 mars 2007 à 16:32
>>
heu ça marche pas
avec ça, je peux répondre,aider... tiens...
mais... je n'ai pas mis option dans mon exemple !
( vérifier, il n'y aurait pas un S ? )
et le name du formulaire ? il a été changé ?
tu n'as pas lu ou alors pas appliqué...
avec IE, activer le deboggage, et mieux, télécharger le "Debogger IE"
avec FF, regarder la "console d'erreurs", et mieux, télécharger "FireBug"
car là aussi, il y a des erreurs signalées !!!
<hr />
Cordialement Bul
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 mars 2007 à 16:39
>>Le truc c'est qu'avec IE, il ouvre une nouvelle fernêtre mais pas avec FF
ça dépend du paramétrage, dans l'un comme dans l'autre !
perso, je refuse toutes les pop-up, donc window.open ne marche pas
et comme c'est le paramétrage par défaut aujourd'hui... ça marche chez
de moins en moins de personnes.
>>c'est de mettre un id à ton select
je n'aime guère utiliser ça. faut bien parfois, mais j'évite.
et quand on utilise php, pour transmettre, il faut un name, alors...
je préfère document.name du formulaire.name de l'élément
à document.getElementById("id de l'élément")
chacun ses goûts.
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 15 mars 2007 à 20:18
>>>>>Le truc c'est qu'avec IE, il ouvre une nouvelle fernêtre mais pas avec FF
>>>
ça dépend du paramétrage, dans l'un comme dans l'autre !
>>>
perso, je refuse toutes les pop-up, donc window.open ne marche pas
>>>
et comme c'est le paramétrage par défaut aujourd'hui... ça marche chez
>>>
de moins en moins de personnes.
le window.open n'est bloqué que s'il est considéré comme une 'ouverture automatique" (au chargement de la page par exemple). Si la nouvelle fenetre s'ouvre seulement quand on clique sur un bouton ou un lien, c'est pas bloqué (par les anti-popup tout du moins).
Pour ouvrir le resultat d'un formulaire dans une nouvelle fenetre :
<form action="machin.htm" target="_new">