Je sais pas comment vous faite mais j'y arrive pas !

Messages postés
108
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
30 avril 2008
- - Dernière réponse : frvfrvfrvfrv
Messages postés
108
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
30 avril 2008
- 14 janv. 2006 à 00:49
je veux faire apparaitre une image selon une triple liste deroulante.
l'image change selon la selection, et ceci avant d'activer le fichier html attaché.
Si vous avez une idée !
le code épurer pour vous:


<html>
<HEAD>
<SCRIPT LANGUAGE= "JavaScript">

var menu =new CreerMenu(3," groupe "," sous groupe "," img final ","titre 4","self");

menu.Add(1,"groupe a",""); // avoir une image du groupe a

menu.Add(2,"sous groupe 1",""); // avoir une image sous groupe 1
menu.Add(3,"img a 1","html1.html"); // avoir une image img a 1
menu.Add(3,"img b 1","html2.html"); // avoir une image img b 1
menu.Add(2,"sous groupe 2","");
menu.Add(3,"img a 2","html3.html");
menu.Add(3,"img b 2","html4.html");
menu.Add(1,"groupe b","");
menu.Add(2,"sous groupe 1","");
menu.Add(3,"img b 1","html5.html");
menu.Add(3,"img b 1","html6.html");
menu.Add(2,"sous groupe 2","");
menu.Add(3,"img b 2","html7.html");
menu.Add(3,"img b 2","html8.html");
menu.Add(3,"img b 2","html9.html");
menu.Add(3,"img b 2","html10.html");
function CreerMenu(profondeur,titre1,titre2,titre3,titre4,target) {this.nb0; this .profprofondeur;this.titre1titre1; this .titre2titre2; this.titre3= titre3; this .titre4 =titre4; this.target= target
this .Add =AddObjet;
this.Aff= AffMenu;
}
function AddObjet(deep,txt,page) {
var rub = new Object;
rub.deep= deep;
rub.txt=txt;
rub.page=page;
this [this.nb] =rub;
this.nb++;
}
function AffMenu() {
var Z= "<FORM name='mf'>";
Z+="<SELECT size=1 name='list1' onChange='Clic(1)'><OPTION selected>"+ this .titre1+"</OPTION>";
for (var i =0;i<this.nb;i++) {
if (this[i].deep= =1) {
Z+="<OPTION value='"+i+"'>"+ this [i].txt+"</OPTION>"
}
}
Z+ ="</SELECT>";
for (var i= 2;i<=menu.prof;i++) {
Z+="<SELECT name='list"+i+"' onChange='Clic("+i+")'><OPTION>"+eval("menu.titre"+i)+"</OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION></SELECT>";
}
Z+="</FORM>";
document.write(Z);
}
function add() {
var c =new Option("ADD","",true,true);
document.forms[0].elements["list"].options[0]= c;
}
function Clic(no) {
var valeur =document.forms["mf"].elements["list"+no].options[ document.forms["mf"].elements["list"+no].selectedIndex].value;
if ((valeur!= "")&&(valeur!= null )&&(no<menu.prof)) {
var deep =menu[valeur].deep;
var no2= 1;
for (var noX =(no+1);noX<= menu.prof;noX++) {
document.forms["mf"].elements["list"+eval(noX)].options.length=0;
var titre =eval("menu.titre"+noX);
var c= new Option(titre);
document.forms["mf"].elements["list"+(noX)].options[0] =c;
document.forms["mf"].elements["list"+(noX)].selectedIndex= 0;
}
valeur++;
for (var i =valeur;i<menu.nb;i++) {
//alert(i);
if (menu[i].deep = = deep+1) {
//alert("no="+no+" texte="+menu[i].txt);
var c =new Option(menu[i].txt,i);
document.forms["mf"].elements["list"+(no+1)].options[no2]= c;
no2++;
} else { if (menu[i].deep == deep){i=menu.nb;}}
}
document.forms["mf"].elements["list"+(no+1)].options.length=no2+1;
document.forms["mf"].elements["list"+(no+1)].selectedIndex=0;
Clic(no+1)
valeur--;
}
if ((valeur! ="")&&(valeur!= null )) {
var page =menu[valeur].page;
if ((page!= "")&&(page!= null )) {
if (menu.target == "self") {window.location=page}
else if (menu.target == "_blank") {window.open(page,"","menubar,scrollbars,toolbar,status,location")}
else {parent.frames[menu.target].location.href =page;}
}
}
}
</SCRIPT>
</HEAD>
<body leftmargin= 0 marginwidth=0 bgcolor="#FFFFFF" vlink="#0000A0" link="#0000FF" scroll="no">
<base target="_this">

<div id="vil" style="position:absolute; top:80%; left:45%; z-index:3;">
<img name="imag" src="dfg.gif" alt="img change selon select">
</div>
// c'est cette image qui doit changer ...

<div id="conteneur" style="position:absolute; top:40%;left:24%;z-index:2;">
<SCRIPT language="JavaScript">
menu.Aff();
</SCRIPT>
</div>
<script>
function change_site() {
var site = document.menu.popup.selectedIndex;
{
window.location.href =
document.menu.popup.options[site].value;
}
}
</script>
</BODY>
</HTML>
Afficher la suite 

1 réponse

Messages postés
108
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
30 avril 2008
0
Merci
je veux faire apparaitre une image selon une triple liste deroulante.
l'image change selon la selection, et ceci avant d'activer le fichier html attaché.
Si vous avez une idée !
le code épurer pour vous:


<html>
<HEAD>
<SCRIPT LANGUAGE= "JavaScript">

var menu =new CreerMenu(3," groupe "," sous groupe "," img final ","titre 4","self");

menu.Add(1,"groupe a",""); // avoir une image du groupe a

menu.Add(2,"sous groupe 1",""); // avoir une image sous groupe 1
menu.Add(3,"img a 1","html1.html"); // avoir une image img a 1
menu.Add(3,"img b 1","html2.html"); // avoir une image img b 1
menu.Add(2,"sous groupe 2","");
menu.Add(3,"img a 2","html3.html");
menu.Add(3,"img b 2","html4.html");
menu.Add(1,"groupe b","");
menu.Add(2,"sous groupe 1","");
menu.Add(3,"img b 1","html5.html");
menu.Add(3,"img b 1","html6.html");
menu.Add(2,"sous groupe 2","");
menu.Add(3,"img b 2","html7.html");
menu.Add(3,"img b 2","html8.html");
menu.Add(3,"img b 2","html9.html");
menu.Add(3,"img b 2","html10.html");
function CreerMenu(profondeur,titre1,titre2,titre3,titre4,target) {this.nb0; this .profprofondeur;this.titre1titre1; this .titre2titre2; this.titre3= titre3; this .titre4 =titre4; this.target= target
this .Add =AddObjet;
this.Aff= AffMenu;
}
function AddObjet(deep,txt,page) {
var rub = new Object;
rub.deep= deep;
rub.txt=txt;
rub.page=page;
this [this.nb] =rub;
this.nb++;
}
function AffMenu() {
var Z= "<FORM name='mf'>";
Z+="<SELECT size=1 name='list1' onChange='Clic(1)'><OPTION selected>"+ this .titre1+"</OPTION>";
for (var i =0;i<this.nb;i++) {
if (this[i].deep= =1) {
Z+="<OPTION value='"+i+"'>"+ this [i].txt+"</OPTION>"
}
}
Z+ ="</SELECT>";
for (var i= 2;i<=menu.prof;i++) {
Z+="<SELECT name='list"+i+"' onChange='Clic("+i+")'><OPTION>"+eval("menu.titre"+i)+"</OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION><OPTION></OPTION></SELECT>";
}
Z+="</FORM>";
document.write(Z);
}
function add() {
var c =new Option("ADD","",true,true);
document.forms[0].elements["list"].options[0]= c;
}
function Clic(no) {
var valeur =document.forms["mf"].elements["list"+no].options[ document.forms["mf"].elements["list"+no].selectedIndex].value;
if ((valeur!= "")&&(valeur!= null )&&(no<menu.prof)) {
var deep =menu[valeur].deep;
var no2= 1;
for (var noX =(no+1);noX<= menu.prof;noX++) {
document.forms["mf"].elements["list"+eval(noX)].options.length=0;
var titre =eval("menu.titre"+noX);
var c= new Option(titre);
document.forms["mf"].elements["list"+(noX)].options[0] =c;
document.forms["mf"].elements["list"+(noX)].selectedIndex= 0;
}
valeur++;
for (var i =valeur;i<menu.nb;i++) {
//alert(i);
if (menu[i].deep = = deep+1) {
//alert("no="+no+" texte="+menu[i].txt);
var c =new Option(menu[i].txt,i);
document.forms["mf"].elements["list"+(no+1)].options[no2]= c;
no2++;
} else { if (menu[i].deep == deep){i=menu.nb;}}
}
document.forms["mf"].elements["list"+(no+1)].options.length=no2+1;
document.forms["mf"].elements["list"+(no+1)].selectedIndex=0;
Clic(no+1)
valeur--;
}
if ((valeur! ="")&&(valeur!= null )) {
var page =menu[valeur].page;
if ((page!= "")&&(page!= null )) {
if (menu.target == "self") {window.location=page}
else if (menu.target == "_blank") {window.open(page,"","menubar,scrollbars,toolbar,status,location")}
else {parent.frames[menu.target].location.href =page;}
}
}
}
</SCRIPT>
</HEAD>
<body leftmargin= 0 marginwidth=0 bgcolor="#FFFFFF" vlink="#0000A0" link="#0000FF" scroll="no">
<base target="_this">

<div id="vil" style="position:absolute; top:80%; left:45%; z-index:3;">
<img name="imag" src="dfg.gif" alt="img change selon select">
</div>
// c'est cette image qui doit changer ...

<div id="conteneur" style="position:absolute; top:40%;left:24%;z-index:2;">
<SCRIPT language="JavaScript">
menu.Aff();
</SCRIPT>
</div>
<script>
function change_site() {
var site = document.menu.popup.selectedIndex;
{
window.location.href =
document.menu.popup.options[site].value;
}
}
</script>
</BODY>
</HTML>
Commenter la réponse de frvfrvfrvfrv