2009-08-05 2 views
2

현재 내 응용 프로그램의 메인 페이지에서 Ajax 팝업 창이 표시됩니다. 이 팝업에서는 목록을 선택하고 사용자가 팝업 창을 닫을 때 팝업에서 선택한 값을 기본 페이지로 다시 전달하려고합니다.Ajax 팝업에서 상위 페이지로 데이터를 전달하는 방법은 무엇입니까?

나는이 일을하는 기본 방법이 있다고 느낀다. 그러나 나는 그것을 이해하는 것처럼 보이지 않는다. 사용

+1

에 설정 한 기능을 설정할 수 있습니다? 브라우저 창 팝업 인 경우 아약스가 아닙니다. 그것은 아약스 요청을 통해 채워지는 자바 스크립트 팝업 경우 라이브러리/사용중인 코드에 따라 달라집니다 –

답변

1

window.opener. 깨끗한 하나 : 당신의 문제에 대한

당신은 원래 문서에 다시 지적 window.opener 필요

팝업 코드은이 :

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

이 방법, 당신은 그것을 할 때를 닫습니다 변수를 설정하거나 함수를 호출합니다.

당신은 또한 '아약스 팝업'은 무엇을 의미 하는가 버튼에 직접 입력

<button onclick="window.opener....;window.close();"/> 
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에서 감사하지 않습니다. –

관련 문제