-
Message publié le mardi 08 juillet 2008 à 18 h 12 par ptitfaby44.
-
Bonjour,
Je sui a la recherche d'un script pouvant utiliser 2 listes déroulantes liées qui au final renvoye vers une page lors de la selection du 2eme champ.
Je m'explique :
Je voudrais que ma premiere liste contienne des services : "bar"; "boites" etc , celle ci spécifiera le dossier de destination au nom du service selectionné dans la liste /"bar" ou "boite"/
la seconde contiendra les departements et une fois selectionné ce dernier le formulaire ce validera automatiquement et me redirigera de la sorte "/service/departement.html(ou php)"
J'ai deja vu cela sur des sites internet, donc je pense que cela doit etre faisable lol
Je suis un peu nul en prog !
Merci de votre aide.
-
Message publié le mardi 08 juillet 2008 à 18 h 14 par ptitfaby44.
-
Re ! désolé javais oublié quelque chose !
J'ai trouvé un script qui se rapproche un peu a ce que je recherche, je tenais a vous la transmettre :
<head><SCRIPT language="JavaScript">
<!--
<!--
function Choix(form) {
i = form.pays.selectedIndex;
form.dep.options.length=0;
Item = new Option("Choose your region", "", false, false);
form.dep.options[0]=Item;
form.dep.selectedIndex = 0;
switch (i) {
case 1 : var txt = new Array ('04 - Alpes de Haute Provence ','05 - Hautes Alpes','06 - Alpes Maritimes','09 – Ariège','13 - Bouches du Rhône','17 - Charente Maritime','29 - Finistère','30 – Gard','31 - Haute Garonne','33 - Gironde','34 - Hérault','38 – Isère','40 - Landes','44 - Loire Atlantique','56 - Morbihan','64 - Pyrénées Atlantiques','65 - Hautes Pyrénées','66 - Pyrénées Orientales','69 – Rhône','73 - Savoie','74 - Haute Savoie','83 - Var','85 - Vendée');
var txt2 = new Array (4,5,6,9,13,17,29,30,31,33,34,38,40,44,56,64,65,66,69,73,74,83,85);
break;
case 2 : var txt = new Array ('Champery','Château d’Oex','Crans Montana','Haute Nendaz','Les Crozets','Les Diablerets','Leysin','Morgins','Verbier','Rougemont','Torgon','Villars sur Ollon ','Zermatt');
var txt2 = txt;
break;
}
for (i=0;i<txt.length;i++) {
Item = new Option(txt, txt2+".html", false, false);
form.dep.options=Item;
}
}
// -->
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</SCRIPT>
</head>
<body>
<FORM>
<p>
<SELECT NAME="pays" onChange='Choix(this.form)'>
<OPTION>--- Choose your country ---</OPTION>
<OPTION>France</OPTION>
<OPTION>Switzerland</OPTION>
</SELECT>
<SELECT NAME="dep" onChange="MM_jumpMenu('parent',this,0)">
<OPTION>--- Choose your region ---</OPTION>
</SELECT>
</p>
</FORM>
Par avance, merci beaucoups
-
Message publié le mercredi 09 juillet 2008 à 00 h 45 par junglist.
-
Par exemple ...
- faire 1 premier menu déroulant Html qui ne réagisse pas automatiquement et dont l'entrée par défaut est la 1ère entrée de la liste (par exemple "Bars") pour afin que l'utilisateur choisisse forcemment une catégorie
- puis faire un deuxième menu déroulant Html qui réagisse automatiquement avec javascript dont la 1ère entrée est vide afin de forcer l'utilisateur à l'utiliser et à sélectionner 1 département
- puis rediriger le tout vers un fichier qui va lui-même rediriger l'utilisateur vers l'url composée en 1ère partie de la réponse au 1er formulaire et en 2ème partie de la réponse au 2ème formulaire (fonction header en php)
Cas pratique : dans le 1er menu je laisse sur '"Bars" qui est la 1ère entrée par défaut et dans le 2ème je choisis "75", je suis alors automatiquement redirigé vers
http://votresite.fr/bars/75/index.php
-
Message publié le mercredi 09 juillet 2008 à 15 h 47 par pchlj. no comment !
-
en pratique
function dirigeselect()
{
if(document.getElementById("select1").value != "")
{
if(document.getElementById("select2").value !="")
{
self.location = "/" + document.getElementById("select1").value +"/"+document.getElementById("select2").value;
}
else
{
alert("choisissez la 2° catégorie");
}
}
else
{
alert("choisissez la 1° catégorie");
}
}
dans ton code
<select id="select1" onChange="if(document.getElementById('select2').value != '') dirigeselect();">
<option value="">Choisissez</option>
<option value="bars">Bars</option>
</select>
<select id="select2" onChange=dirigeselect();>
<option value="">Choisissez</option>
<option value="75">Paris</option>
</select>
voilà en gros ce qu'il te faut pas tester je viens de l'écrire... mais ça devrai têtre bon..
++
-
Message publié le mercredi 09 juillet 2008 à 17 h 04 par ptitfaby44.
-
Je viens de tester, bon j'avoue j'ai du me gourer quelque part lol
quand jouvre ma page ca me met lerreur suivante : Parse error: syntax error, unexpected '=' in /web/sites/vhbu3/0/218/101792/public/www/test/index.php on line 9
Sniff,
Voici le contenu de mon fichier index.php
<?
function dirigeselect()
{
if(document.getElementById("select1").value != "")
{
if(document.getElementById("select2").value !="")
{
self.location = "/" + document.getElementById("select1").value
+"/"+document.getElementById("select2").value;
}
else
{
alert("choisissez la 2° catégorie");
}
}
else
{
alert("choisissez la 1° catégorie");
}
}
?>
<select id="select1" onChange="if(document.getElementById
('select2').value != '') dirigeselect();">
<option value="">Choisissez</option>
<option value="bars">Bars</option>
</select>
<select id="select2" onChange=dirigeselect();>
<option value="">Choisissez</option>
<option value="75">Paris</option>
</select>
Voila, donc a mon avis j'ai oublié beaucoups de choses dans ma page je pense lol
Mercii :)
-
Message publié le mercredi 09 juillet 2008 à 17 h 14 par pchlj. no comment !
-
euh.. en fait non... mais c"'est du javascript ce que je t'ai donné :)
donc dans des balises <script> HORS du php :)
-
Message publié le mercredi 09 juillet 2008 à 17 h 57 par ptitfaby44.
-
C bon ca marche !! lol merci beaucoups
Mais j'aurais une derniere modif a faire, je veux changer le moyen dacceder a ma page
Je m'explique j'utilises un portail et je voudrais faire en sorte que la validation de mon formulaire termine mon adresse de destination (index.php?mod=page?id="valeur1+valeur2")
je ne sais pas si c'est possible, en tout cas si ca l'ai ca serai cool :)
J'ai essayé de modifier, mais ca marche pas.
Voici le contenu de mon script modifé :
function dirigeselect()
{
if(document.getElementById("select1").value != "")
{
if(document.getElementById("select2").value !="")
{
self.location = "index.php?mod=page?id=" + document.getElementById("select1").value +document.getElementById("select2").value;
}
else
{
alert("choisissez la 2° catégorie");
}
}
else
{
alert("choisissez la 1° catégorie");
}
}
Je sais, je suis casse pied, en tout cas merci beaucoup de votre aide.
-
Message publié le vendredi 11 juillet 2008 à 14 h 11 par ptitfaby44.
-
personne ne peux me venir en aide ?
Merci beaucoups
-
Message publié le dimanche 27 juillet 2008 à 23 h 08 par pchlj. no comment !
-
désolé c les vacances :)
self.location = "index.php?mod=page?id=" + document.getElementById("select1").value +document.getElementById("select2").value;
c'est pas mal mais ça peut pas marcher y a 2 ??
écrit comme ça
self.location = "index.php?mod=page&id=" + document.getElementById("select1").value +document.getElementById("select2").value;
pour les gets il faut lier les variables avec &