OVH Cloud OVH Cloud

Interaction entre 2 fenêtres IE

3 réponses
Avatar
lbataillard
Bonjour,
le contexte:

<FORM ID=Form1 METHOD=post RUNAT="server">

<INPUT ID=Pays STYLE="Z-INDEX: 101; LEFT: 16px; WIDTH: 144px;
POSITION: absolute; TOP: 88px; HEIGHT: 32px"
ONCLICK="this.disabled=true; window.open('Pays.aspx')" TYPE=submit
VALUE=Pays>

<INPUT ID=Marques STYLE="Z-INDEX: 102; LEFT: 16px; WIDTH: 144px;
POSITION: absolute; TOP: 128px; HEIGHT: 32px"
ONCLICK="this.disabled=true; window.open('Marques.aspx')" TYPE=submit
VALUE=Marques>

...etc...
</FORM>

cette page en appelle une autre, en cliquant sur un bouton, le 1er par
exemple (Pays), et ce bouton devient grisé pour éviter d'appeler à
nouveau une instance de la page appelée.
------------------------------------------------------------
Sur la page appelée:
<BODY ONUNLOAD="window.opener.document.forms[0].elements[0].disabled=false;
window.opener.location.reload()" MS_POSITIONING=GridLayout>

Ca marche: quand on ferme la fenêtre appelée, le bouton de la fenêtre
appelante redevient accessible.

Le problème : ils deviennent TOUS dégrisés, alors que je ne voudrais
que seul le bouton qui a appelé la fenêtre qu'on vient de fermer,
redevienne dégrisé!!
est-ce que l'expression
ONUNLOAD="window.opener.document.forms[0].elements[0].disabled=false;
window.opener.location.reload()"
est incorrecte?
------------------------------------
Merci

________________
Lionel

3 réponses

Avatar
ASM

Bonjour,
le contexte:

<FORM ID=Form1 METHOD=post RUNAT="server">


keskecé runat ?? (du front page ?)

<INPUT ID=Pays STYLE="Z-INDEX: 101; LEFT: 16px; WIDTH: 144px;
POSITION: absolute; TOP: 88px; HEIGHT: 32px"
ONCLICK="this.disabled=true; window.open('Pays.aspx')" TYPE=submit
VALUE=Pays>


Pas sûr que le disabled sur le outon puisse complètement
empécher la soumission ... ?

<INPUT ID=Marques STYLE="Z-INDEX: 102; LEFT: 16px; WIDTH: 144px;
POSITION: absolute; TOP: 128px; HEIGHT: 32px"
ONCLICK="this.disabled=true; window.open('Marques.aspx')" TYPE=submit
VALUE=Marques>


Ah ! oui ! pas mal xxx boutons de submitage !
comme çà on a le choix pour envoyer (c'est une aide aux dislexiques ?)

svp préferer des boutons à des submits
puisque de toute la manière ils ne semblent servir qu'a actionner un JS

<input type=button blabla>

...etc...
</FORM>

cette page en appelle une autre, en cliquant sur un bouton, le 1er par
exemple (Pays), et ce bouton devient grisé pour éviter d'appeler à
nouveau une instance de la page appelée.
------------------------------------------------------------
Sur la page appelée:
<BODY ONUNLOAD="window.opener.document.forms[0].elements[0].disabledúlse;
window.opener.location.reload()" MS_POSITIONING=GridLayout>

Ca marche: quand on ferme la fenêtre appelée, le bouton de la fenêtre
appelante redevient accessible.

Le problème : ils deviennent TOUS dégrisés, alors que je ne voudrais
que seul le bouton qui a appelé la fenêtre qu'on vient de fermer,


pas normal puisqu'il semble que le onunload
ne dé-grise (hic!) que le premier boutoon (et tant pis pour les autres)

redevienne dégrisé!!
est-ce que l'expression
ONUNLOAD="window.opener.document.forms[0].elements[0].disabledúlse;


presque bon pour cette partie

window.opener.location.reload()"


késako ?
tu re-ouvres la page de tous tes boutons ?
pas z'étonnant qu'ils soient sobres alors !

j'aurais glissé un marqueur pour connaître le dernier bouton appuyé
genre :
<INPUT ID=Marques STYLE="Z-INDEX: 102; LEFT: 16px; WIDTH: 144px;
POSITION: absolute; TOP: 128px; HEIGHT: 32px"
ONCLICK="truc=this.id; this.disabled=true; window.open('Marques.aspx')" TYPE=submit
VALUE=Marques>

et dans le pop-up
<BODY ONUNLOAD="opener.document.getElementById(opener.truc).disabledúlse;">

les boutons eussent eu un nom on aurait pu faire :
1) ONCLICK="truc=this.name;
2) ONUNLOAD="opener.document.forms[0].elements[opener.truc].disabledúlse;"


--
******** (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
ASM

et dans le pop-up
<BODY ONUNLOAD="opener.document.getElementById(opener.truc).disabledúlse;">


en fait ce serait mieux si chaque page appelée avait son onunload perso

exemple
- bouton id=Marques name=Marques
appelle
- Marques.asp
qui contient
<BODY ONUNLOAD=" bouton = (document.getElementById)?
window.opener.document.document.getElementById('Marques') :
window.opener.document.forms[0].elements['Marques'];
bouton.disabledúlse;">

MS_POSITIONING=GridLayout < - - ce truc-bidule à la poubelle !


--
******** (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
lbataillard
Merci à vous, ca m'a bien aidé :

j'ai mis des types "button", et dans la page appelée, ce qui a fini par marcher:

<BODY ONUNLOAD="opener.document.getElementById('Pays').disabledúlse">

par exemple, tout simplement!