[javascript] prob popup + frame

Phil -  
 vulamicy -
Bonjour,

J'ouvre une popup grace à une frame de ma page prinicpale, grace à cette popup je renvoie les resultats d'un formulaire.

Ce formulaire devrait changer les données contenues ds une 2ième frame de ma page prinicale, il n'y a aucun chagement de cette frame

code du form :

<form action="index_bd.php" target="centre" method="post" name="recherche">

où index_bd est ma page principale et centre la frame à modifier

Rq : si je change index_bd par la page que contient la frame centre (liste.php) tout se passe bien, mais dès que j'essaie avec les frames plus rien

Si vous avez des idées, merci d'avance

2 réponses

  1. Utilisateur anonyme
     
    La solution est ci-dessous.

    Le plus simple est d'appeler depuis ta popup une fonction javascript de la fenêtre qui a ouvert cette popup en lui passant les arguments nécessaires.

    Dans cette fonction, tu fermes la popup et tu vas modifier les valeurs des champs.

    Tu trouveras ci-dessous 4 fichiers HTML de démo que tu dois copier dans le même répertoire.

    Fichier "index.html"

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <frameset name ="main"rows="25%,*">
    	<frame name="topFrame" src="top.html" />
    	<frame name="bottomFrame" src="bottom.html" />	
    </frameset>
    
    </body>
    </html>
    


    Fichier "top.html"
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title>Top frame</title>
    
    	<script language="javascript" type="text/javascript">
    		var w;
    		
    		function openPopup(){
    			w = window.open('PopupCCM.html','','status=yes, width=320, height=140');
    		}
    		
    		function update(field_1_value, field_2_value){
    			w.close();
    			top.bottomFrame.document.getElementsByName("welcome")[0].value=field_1_value;
    			top.bottomFrame.document.getElementsByName("goodbye")[0].value=field_2_value;			
    		}
    	</script>			
    </head>
    
    <body>
    	<span onclick="openPopup();" style="background-color: #8888ff; color: eeeeee; border: #4444ff 1 solid; font-family: Arial, Times; font-weight: bold; padding: 4 4 4 4; cursor: hand;">
    		Test
    	</span>
    
    </body>
    </html>
    


    Fichier "bottom.html"
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title>Bottom Frame</title>
    </head>
    
    <body>
    	<h3>Messages d'accueil:</h3>
    	<br>
    	<form>
    		<table>
    			<tr>
    				<td>Message de bienvenue:</td>
    				<td><input type="text" disabled name="welcome" /></td>
    			</tr>
    			<tr>
    				<td>Message d'au revoir:</td>
    				<td><input type="text" disabled name="goodbye" /></td>				
    			</tr>
    	</form>
    </body>
    </html>
    


    Fichier "PopupCCM.html"

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    
    <html>
    <head>
    	<title>PopupCCM</title>
    
    	<script language="javascript" type="text/javascript">
    		function update(){
    			select_1 = document.getElementsByName("sel_1")[0];
    			field_1_value =select_1.options[select_1.selectedIndex].value;
    
    			select_2 = document.getElementsByName("sel_2")[0];
    			field_2_value =select_2.options[select_2.selectedIndex].value;			
    			window.opener.update(field_1_value, field_2_value);
    		}
    	</script>			
    </head>
    
    <body>
    	Valeur à insérer dans le champ 1:
    	<select id="sel_1" name="sel_1">
    		<option value="Coucou" >Coucou
    		<option value"Hello" >Hello
    		<option value="Bonjour" >Bonjour
    	</select>
    	<p/>
    	Valeur à insérer dans le champ 2:
    	<select id="sel_2">
    		<option value="Au revoir" >Au revoir
    		<option value"Bye bye!" >Bye bye!
    		<option value="Ciao" >Ciao!
    	</select>
    	<p/>
    	<button onclick="update();">Mettre à jour</button>
    
    </body>
    </html>
    
    


    ;-)
    3
    1. Max
       
      Merci pour ta réponse bien détaillée (si toutes les réponses étaient comme celle-ci...)
      Je me suis plongé dans toutes les focntions javascript que tu avais utilisé et j'ai compris le fonctionnement de la relation popup frame, en réutilisant partiellement ton code ;-)

      Encore merci
      0
  2. vulamicy
     
    cannot return value in browse firefox?????????
    0