Pour lancer un lien ?!...

Résolu
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008 - 26 juil. 2005 à 10:15
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 26 juil. 2005 à 16:17
Bonjour à tous,
Voilà, j'ai un petit souci avec le script suivant : http://www.javascriptfr.com/code.aspx?id=32070
en effet, mon but serait que au lieu que ça m'ouvre une petite "fenêtre" je voudrais que ça me lance un lien...
mais je ne suis encore que débutant, donc si quelqu'un pouvait m'aider...

D'avance merci

FARFADAM

15 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 15:41
comme c'est écrit....

<HTML>
<HEAD>
<TITLE>2 Selects dépendants en JavaScript</TITLE>
<script type="text/javascript">
function gensel2()
{ frm.sel2.length=0;
for ( var n=0; n<l1[frm.sel1.selectedIndex].length; n++ )
{ frm.sel2.length++;
frm.sel2.options[frm.sel2.length-1].text =l1[frm.sel1.selectedIndex][n];
frm.sel2.options[frm.sel2.length-1].value=l2[frm.sel1.selectedIndex][n]; } }
</script>
</HEAD>

<form name="frm">
<select size=3
name="sel1"
onchange="gensel2();">
<option>B1</option>
<option>B2</option>
<option>B3</option>
</select>
<select size=3
name="sel2">
</select>
=0)
{ location.href=frm.sel2[frm.sel2.selectedIndex].value; }"
value="Valider"/>
</form>
<script type="text/javascript">
var l1=new Array(
new Array( "B1 L1","B1 L2",
"B1 L3","B1 L4"),
new Array("B2 L1","B2 L2"),
new Array("B3 L1","B3 L1","B3 L3")
); // noms qui apparaissent dans le 2ème select
// chaque ligne new Array correspond aux lignes de 1er select
var l2=new Array(
new Array( "http://lien B1 L1","http://lien B1 L2",
"http://lien B1 L3","http://lien B1 L4"),
new Array( "http://lien B2 L1","http://lien B2 L2"),
new Array( "http://lien B3 L1","http://lien B3 L1","http://lien B3 L3")
); // liens pour le 2ème select
// chaque ligne new Array correspond aux lignes de 1er select
// et sont l'adresse affectée aux lignes du 2ème select
</script>
</HTML>

mon navigateur de prédilection c'est Internet Explorer,
et, pour quelques tests, parfois, j'use du renard de feu.
il y a peut-être des choses que FireFox ne sait pas
faire comme ça, mais "c'est pas loin". Regarder les
erreurs dans la console FF et rectifier => ça marchera
avec IE. [ peut-être remplacer les formulaire.champ
par document.getElementById("id correspondant")
faudrait voir... ]
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 10:53
Bonjour,
lancer une lien ? : location.href="nom de la page.htm";
je ne sais pas ce qu'est "la petite fenêtre" ?
un pop-up ? ( pas vu la source citée... ).
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 11:29
Veuillez m'excuser pour ma maladresse mais je ne mis connais pas trop encore...
donc en fait une fois que l'on a selectionné les ce que l'on voulait dans les différentes catégories, ça lance ceci :
<<CODE>select
name=<VAR>"produit"</VAR>
onChange
=<VAR>"alert('Variable retournée : '+this.value)"</VAR>><!-- Ici une simple <VAR>"alert"</VAR> qui retourne la value de notre choix. -->
</code>
donc je veux juste enlever cette "alert" pour à la place pouvoir lancer la page qui correspond au choix fait précédement.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 11:41
<
select
name=<VAR>"produit"</VAR>
onChange
=<VAR>"alert('Variable retournée : '+this.value)"</VAR>><!--
this.value c'est déjà faux,
donc il s'agit d'aller sur un site, dont l'adresse
est forunie dans un select ?

<select onchange="location.href=this[this.selectedIndex].value;">
<optgroup label="Choisir un site">
<option value="http://www.javascriptfr.com">JavaScript</option>
<option value="http://marcel-Bultez.chez.Tiscali.fr">Mon site à moi</option>
<option value="http://www.google.fr">google</option>
...
</optgroup>
</select>

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 12:37
C'est un début mais c'est pas encore ça...
(je suis vraiment désolé, vous devez penser que je suis vraiment chiant)
donc pour faire simple (je vais essayer) :
On choisi dans la "liste déroulante A" une catégorie, qui ensuite charge (en fonction de la catégorie choisi dans "A") les options (ce qui va lancer la page) dans la "liste déroulante B"

Imaginon plutôt :

liste A : liste B
Boite1--->truc1 (= qui ouvre le lien : www.lienA.fr) / truc2 (= qui ouvre le lien : www.lienN.fr)/
Boite2--->truc36 (= qui ouvre le lien : www.lienK.fr) / truc45 (= qui ouvre le lien : www.lienT.fr)
Boite3--->truc123 (= qui ouvre le lien : www.lienR.fr) / truc568 (= qui ouvre le lien : www.lienP.fr)

Voilà, et merci de l'interet que vous avez porter a mon problème
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 12:52
ouais, on peut...
1 seule liste serait beaucoup plus simple :

<select onchange="location.href=this[this.selectedIndex].value;">
<optgroup label="Boite 1">
<option value="http://www.truc 11">Truc 11</option>
<option value="http://truc 12">deux</option>
</optgroup>
<optgroup label="Boite 2">
<option value="http://www.truc 21">Truc 21</option>
<option value="http://truc 22">trois</option>
<option value="http://truc 23">4444</option>
</optgroup>
<optgroup label="Boite 3">
<option value="http://www.truc 31">Truc 31</option>
<option value="http://truc 32">cinq</option>
</optgroup>
</select>


s'il faut à tout prix 2 listes, je peux faire exemple....
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 13:00
Oui, c'est exactement ça que je veux mais il me serait préférable d'avoir deux listes en effet...

Merci énormément pour votre aide (bien précieuse pour un novice comme moi)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 13:18
<HTML>
<HEAD>
<TITLE>2 Selects dépendants en JavaScript</TITLE>
<script type="text/javascript">
function gensel2()
{ frm.sel2.length=0;
for ( var n=0; n<l1[frm.sel1.selectedIndex].length; n++ )
{ frm.sel2.length++;
frm.sel2.options[frm.sel2.length-1].text =l1[frm.sel1.selectedIndex][n];
frm.sel2.options[frm.sel2.length-1].value=l2[frm.sel1.selectedIndex][n]; } }
</script>
</HEAD>

<form name="frm">
<select size=3
name="sel1"
onchange="gensel2();">
<option>B1</option>
<option>B2</option>
<option>B3</option>
</select>
<select size=3
onchange="location.href=this[this.selectedIndex].value;"
name="sel2">
</select>
</form>
<script type="text/javascript">
var l1=new Array(
new Array( "B1 L1","B1 L2",
"B1 L3","B1 L4"),
new Array("B2 L1","B2 L2"),
new Array("B3 L1","B3 L1","B3 L3")
); // noms qui apparaissent dans le 2ème select
// chaque ligne new Array correspond aux lignes de 1er select
var l2=new Array(
new Array( "http://lien B1 L1","http://lien B1 L2",
"http://lien B1 L3","http://lien B1 L4"),
new Array( "http://lien B2 L1","http://lien B2 L2"),
new Array( "http://lien B3 L1","http://lien B3 L1","http://lien B3 L3")
); // liens pour le 2ème select
// chaque ligne new Array correspond aux lignes de 1er select
// et sont l'adresse affectée aux lignes du 2ème select
</script>
</HTML>

il y a d'autres solutions...
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 14:01
Merci c'est parfait,
Merci ENORMEMENT,
juste un dernier petit point (après j'arrête) est-il possible de rajouter un bouton pour lancer le lien ? (au lieu que le lien ce charge directement une fois avoir cliqué dans la liste B, on clique sur le B puis sur un bouton du style "validé")

Merci encore
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 15:03
ça c'est "assez simple" non ?
...
<select size=3
name="sel2">
</select>
Valider
</form>
on pourrait ( ce serait plus beau ) mettre une image :

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 15:07
j'ai oublié qu'il faut tester si le choix est fait.

if ( frm.sel2.selectedIndex>=0)
{ location.href=frm.sel2[frm.sel2.selectedIndex].value; }

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 15:16
Merci bien mais je le met ou ça ? (ne pourriez-vous pas me remettre le script dans son intégralité ? oui je suis vraiment nul)
pour finir j'ai l'impression que ce n'est pas compatible avec FireFox...
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 15:18
PS : je préfère le bouton de type "normal"
0
Farfadam Messages postés 46 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 14 mai 2008
26 juil. 2005 à 16:14
Et bien, MERCI !!!!
Un immemse merci, vous m'avez été d'une très très grande aide.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 juil. 2005 à 16:17
j'ai eu le temps de tester,
pour que ça fonctionne avec FF ( quelle plaie ... )

=0)
{ window.location.href=frm.sel2[frm.sel2.selectedIndex].value; }"
value="Valider"/>

avec de "bons liens" du style [/ http://www.javascriptfr.com]
par exemple pour tester
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Rejoignez-nous