2012-05-23 4 views
0

팝업 페이지를 여는 상위 페이지가 있습니다. 팝업 페이지에서 사용자는 상위 페이지로 다시 전달되는 값을 선택할 수 있습니다.팝업 페이지에서 상위 페이지로 Javascript 패스 값

<script type="text/javascript"> 
function selectValue(id) 
{ 
    // open popup window and pass field id 
    window.open('sku.php?id=' + encodeURIComponent(id),'popuppage', 
     'width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100'); 
} 

function updateValue(id, value) 
{ 
    // this gets called from the popup window and updates the field with a new value 
    document.getElementById(id).value = value; 
} 

</script> 

하고 그쪽으로 팝업 시대의 코드는 다음과 같습니다 :

부모 페이지의 코드는

<script type="text/javascript"> 
function sendValue(value) 
{ 
    var parentId = <?php echo json_encode($_GET['id']); ?>; 
    window.opener.updateValue(parentId, value); 
    window.close(); 
} 
</script> 

나는 팝업 페이지 코드를 변경해야 사용자가 할 수 있도록 다른 페이지로 이동하는 카테고리를 선택하십시오 (여전히 팝업 페이지에 있음). 이제이 페이지에서 값을 선택하면 상위 페이지가 변경된대로 상위 페이지로 다시 전달되지 않습니다.

원래의 부모 페이지를 가리 키도록 팝업 코드를 편집 할 수 있습니까? 내 경우 상위 페이지는 newsalea.php입니다.

이렇게하면 상위 페이지를 팝업 페이지로 하드 코딩 할 수 있습니까? 이것이 가능한가?

감사합니다, 라이언

+4

새 창이어야합니까? 모달 div를 사용할 수 있습니까? – Dve

+2

예, 팝업 창을 사용하지 마십시오. 그들은 끔찍한 UX이며 일반적으로 매우 짜증나게합니다. – ThiefMaster

+0

안녕하세요 Dave는 부모 페이지가 150 열 이상이므로 새 페이지 여야합니다. 따라서 div를 올바른 위치에 표시하여 옵션을 선택할 수 있습니다. 고마워, – Smudger

답변

2

당신이 jquery dialoge처럼 팝업 자바 스크립트 라이브러리를 사용할 수 있습니다 window.open 사용할 필요가 없습니다! 또는 fancybox이고 간단히 parent.div = your value라고 말하십시오.

+0

감사합니다. 내 가치는 무엇입니까? newsale.php? – Smudger

+1

값은 함수 updateValue에서 가져옵니다. – Rami

관련 문제