2009-08-05 16 views
2

現在、私のアプリケーションのメインページからAjaxポップアップウィンドウが表示されています。このポップアップでは選択リストがあり、ユーザーがポップアップウィンドウを閉じると、ポップアップから選択した値をメインページに戻したいと考えています。Ajaxポップアップから親ページにデータを渡すには?

私はこれを行う基本的な方法があると感じますが、私はそれを把握しているように見えることはできません。あなたは簡単にそれを制御することができます(内容はAJAXまたはいくつかの他の技術を介している場合に関係なく)あなたはJavaScriptでポップアップウィンドウを開くといるwindow.opener

http://www.webreference.com/js/tutorial1/opener.html

+1

ボタンの上にセット機能を設定するか、直接入力のだろうか?ブラウザウィンドウポップアップの場合は、ajaxではありません。それは、JavaScriptのポップアップがajaxリクエストを介して入力されている場合は、使用しているライブラリ/コードに依存します –

答えて

5

。あなたの問題のために

あなたが戻って文書を発信するに指し示すいるwindow.opener必要があります。 クリーン1:ポップアップコードで

をしている:

<body onclose="window.opener.somevar=document.getElementById('myid').value;window.opener.orsomefunction('value');"> 
<input id="myid"/> 
</body> 

この方法、あなたはそれを閉じます変数を設定したり、関数を呼び出したりします。

あなたはまた、「Ajaxのポップアップが」どういう意味

<button onclick="window.opener....;window.close();"/> 
1

を使用して

0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<?PHP 
$test_1 = $_GET['variable1']; 
$test_2 = $_GET['variable2']; 
$test_3 = $_GET['variable3']; 

$test1 = "blabla1"; 
$test2 = "blabla2"; 
$test3 = "blabla3"; 
?> 
<html> 
<head> 
    <title>Untitled</title> 
    <script type="text/javascript" src="js/mootools-1.2.4-core-yc.js"></script> 
    <script type="text/javascript"> 
    //on dom ready... 
window.addEvent('domready', function() { 

    /* ajax replace element text */ 
    $('ajax-replace').addEvent('click', function(event) { 
     //prevent the page from changing 
     event.stop(); 
     //make the ajax call, replace text 
     var req = new Request.HTML({ 
      method: 'get', 
      url: $('ajax-replace').get('href'), 
      data: { 'variable1' : '<?=$test1?>', 'variable2':'<?=$test2?>', 'variable3' : '<?=$test3?>' }, 
      //onRequest: function() { alert('Request made. Please wait...'); }, 
      update: $('message-here'), 
      onComplete: function(response) { alert('Variable 1: <? echo $test1; ?> Variable 2: <? echo $test2; ?> Variabble 3: <? echo $test3; ?>'); $('message-here'); 
      } 
     }).send(); 
    }); 
}); 

    </script> 
</head> 

<body> 


<p> 
    <a href="index.php" id="ajax-replace">Click</a> 
</p> 
<div id="message-here"> 
<?PHP 
echo $variable_1."<br>"; 
echo $variable_2."<br>"; 
echo $variable_3."<br>"; 
?> 
</div> 

</body> 
</html> 
+1

コードのみの回答は、StackOverflowで認識されません。 –

関連する問題