[js] onload event et frame

onload event et frame [js] - HTML/CSS - Programmation

Marsh Posté le 29-11-2006 à 10:32:32    

Bonjour,
 
J'ai un petit soucis avec les evenements de type load.
J'ai deux frame A et B.  
 
Dans A, j'ai un formulaire, dont la réponse est dirigé vers B ("ans_frame" ci dessous) :

Code :
  1. <form method="post" action="camset.cgi" target="ans_frame">


 
Le bouton submit appelle un script :

Code :
  1. <input type="submit" value="send" onclick="v_submit_pause()">


 
qui remplace quelques evenement :
 

Code :
  1. function v_submit_pause()
  2. {
  3. if (window.parent != self) {
  4.  <!-- set third frame onload handler -->
  5.  parent.ans_frame.onload = v_watch;
  6.  parent.ans_frame.onunload = v_watch;
  7.  parent.onload = v_watch;
  8.  parent.video_frame.document.video1.stop();
  9. }
  10. }


v_watch est en fait une alerte.
Actuellement, seul l'élément unload est vu, donc il doit se passer un truc du style :
Le submit décharge B => evenement unload.
Elle est remplacé par une nouvelle frame B' et cette frame B' ne possede plus les "event handler" de B',
du coup je ne vois rien lorsque cette frame B' est chargée.
 
J'ai essayé de connaitre cet evenement grace à la frame parente :
parent.onload = alerte à malibu, mais ça ne marche pas non plus.
 
Y a t'il un evenement dans une frame parente lorsqu'une de ses sous frame est rechargé ?
Si quelqu'un  a une idée ...
 
 
 
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 29-11-2006 à 10:32:32   

Reply

Marsh Posté le 29-11-2006 à 10:46:50    

essaye de virer le onclick de ton submit.
Modifie le form comme ça:

Code :
  1. <form method="post" action="camset.cgi" target="ans_frame" onSubmit="return v_submit_pause()">

 
et ta fonction js ainsi:

Code :
  1. function v_submit_pause()
  2.     {
  3.         if (window.parent != self) {
  4.             <!-- set third frame onload handler -->
  5.             parent.ans_frame.onload = v_watch;
  6.             parent.ans_frame.onunload = v_watch;
  7.             parent.onload = v_watch;
  8.             parent.video_frame.document.video1.stop();
  9.         }
  10.         return true;
  11.     }


Vérifie egalement que tu n'as pas une erreur js qui arreterait l'execution de ta fonction!

Reply

Marsh Posté le 29-11-2006 à 11:08:50    

Ca me donne le meme resultat, à savoir seul le unload est visible.

Reply

Marsh Posté le 04-12-2006 à 12:15:59    

Un petit up :)
Pour l'instant j'utilise le unload event + un timer, mais c'est pas très clean

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed