OVH Cloud OVH Cloud

transmettre variable dans l'url

4 réponses
Avatar
Xaero
Bonjour,

voila mon probleme ...

j'ai 3 calques , le premier contient un menu deroulant avec plusieurs choix
, ce menu deroulant s'apelle rub et il prends une valeur numerique ( par ex
rub=1 )

lorsque l'internaute modifie le champs ( donc selectionne une valeur dans le
menu deroulant ) , plusieurs evenements javascript se declenche , le premier
: on affiche le calque superieur ( z-index+1 ) ( notez que cela fonctionne
tres bien à ce niveau ) , ce calque contient une iframe appelant un fichier
en php , ce fichier contient lui aussi un menu deroulant avec une liste qui
est differente en fonction de la valeur de rub ...

Le deuxieme evenement javascript est censé appeler l'url fichier.php avec
comme cible l'iframe du deuxieme calque.

Le probleme est que je n'arrive pas à faire passer rub du calque vers
l'iframe

( ca donne un truc du style fichier.php?rub= )

Il faudrait donc que je trouve un moyen pour faire passer la valeur de rub
directement dans l'url ,sans utiliser d'input type=hidden puisque je n'envoi
pas le formulaire à ce niveau mais plus tard :/

c'est vraiment au niveau de l'evenement aller à tel page que cela pose
probleme en fait ( en php c'est super simple , il suffit d'indiquer
page.php?variable=machinchose mais malheureusement en javascript ca veux pas
:/ )


Merci beaucoup à ceux qui me liront et qui peut etre auront une solution à
me proposer :p

--
Xaero,
Jeu en ligne Xm-jdr
http://www.xaero-method.com/jdr

4 réponses

Avatar

Bonjour,

voila mon probleme ...

j'ai 3 calques , le premier contient un menu deroulant avec plusieurs choix
, ce menu deroulant s'apelle rub et il prends une valeur numerique ( par ex
rub=1 )

lorsque l'internaute modifie le champs ( donc selectionne une valeur dans le
menu deroulant ) , plusieurs evenements javascript se declenche , le premier
: on affiche le calque superieur ( z-index+1 ) ( notez que cela fonctionne
tres bien à ce niveau ) , ce calque contient une iframe appelant un fichier
en php , ce fichier contient lui aussi un menu deroulant avec une liste qui
est differente en fonction de la valeur de rub ...

Le deuxieme evenement javascript est censé appeler l'url fichier.php avec
comme cible l'iframe du deuxieme calque.

Le probleme est que je n'arrive pas à faire passer rub du calque vers
l'iframe


<div id="cache">
<iframe name="monIframe" blabla></iframe
</div>
<form name="monForm">
<select name="rub" id="rub" blabla>
<option value="1"> 1
<option etc...

function affiche() {
if(document.getElementById)
truc = document.getElementById('rub').options;
else
truc = document.monForm.rub;
ind= truc.selectedIndex;
truc= truc[ind].value;
parent.monIframe.location.href = 'fichier.php?rub='+truc;
}

--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************

Avatar
function affiche() {
if(document.getElementById)
truc = document.getElementById('rub').options;
else
truc = document.monForm.rub.options;
ind= truc.selectedIndex;
truc= truc[ind].value;
parent.monIframe.location.href = 'fichier.php?rub='+truc;
}

--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************
Avatar
Xaero
@SM wrote:
function affiche() {
if(document.getElementById)
truc = document.getElementById('rub').options;
else
truc = document.monForm.rub.options;
ind= truc.selectedIndex;
truc= truc[ind].value;
parent.monIframe.location.href = 'fichier.php?rub='+truc;
}


salut,

tout d'abord merci pour ta fonction ;)

logiquement si je demande l'execution de la fonction affiche() onFocus de
mon select , cela devrait fonctionner ? ( ou pas ? ) ( ou alors il faut que
je procede differement ? )

merci beaucoup :)



--
Xaero,
Jeu en ligne Xm-jdr
http://www.xaero-method.com/jdr

Avatar

tout d'abord merci pour ta fonction ;)


de rien

logiquement si je demande l'execution de la fonction affiche() onFocus de
mon select , cela devrait fonctionner ? ( ou pas ? ) ( ou alors il faut que
je procede differement ? )


Je ne comprends pas ton histoire de onfocus de select mais

Théoriquement cette fonction devrait fonctionner n'importe où
il suffit de l'appeler après ou avant mise en avant du calque (indexPlus)
<select name="rub" id="rub" blabla>
<option blabla
.../...
</select>
<input type=button onclick="indexPlus();affiche();" value="GO">

=== variante === (testé Mac IE5, Mozilla et NC4.5)

<html>
<style type="text/css">
#attente { position:relative;height:100px;border:1px solid red;}
#voir { position:absolute;top:0;visibility:hidden;}
</style>
<!-- hack pour NC4.xx --><!--&{true};
/*<![CDATA[*/
#attente { display: none; }
/*]]>*/
</style>
-->
<div id="attente">
<h2>Affichage du choix 2</h2>
<div id="voir">
<iframe id="visu" name="visu" widthP0 height0>
Ne s'affiche pas sur les navigateurs ne supportant pas les i-frames
</iframe>
</div>
</div>
<form>
<select id="choix" name="choix"
onfocus="if(document.getElementById)
document.getElementById('voir').style.visibility='hidden';"
onchange="var i = this.options.selectedIndex;
if(i==0) alert('Choisir dans la liste');
else {
fichier = 'fichier.php?rub='+this.options[i].value;
if(document.getElementById && parent.visu) {
document.getElementById('voir').style.visibility='visible';
parent.visu.location.href=fichier;
}
else
truc = window.open(fichier,'','width00,height00');
this.options[0].selected=true; // optionnel
} ">
<option selected>Choisissez
<option value="1"> - 1 -
<option value="2"> - 2 -
<option value="3"> - 3 -
</select>
</form>
<html>

--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************