2012-03-01 2 views
1

내가 한 일을하는 방법을 지금 적어도 이틀 동안 알아낼 수 없습니다로드 될 때 'onClosed'추가는 가능 실제로, 특정 iframe이 페이지가

A는 클라이언트/사용자 등록 양식 페이지가있는 등록 링크를 클릭하면 fancybox에서 열립니다. 사용자는 이미 등록 된 fancybox (iframe)에서로드되는 'registration_complete.php'페이지로 리디렉션 된 후 등록 양식을 작성하고 등록 버튼을 먼저 선택합니다.

그래서 내가 필요한 것은 : 등록이 완료되면 사용자가 fancybox 메인 페이지를 닫을 때 다시로드됩니다.

'onClosed' : function(){ parent.location.reload(true); }을 사용하는 경우에도 등록이 완료되지 않았습니다 (예 : 클라이언트가 등록 양식을 열었지만 등록하지 않기로 결정한 후 팬시 박스 창을 닫음). 페이지가 다시로드됩니다.

registration_complete.php 페이지를 연 경우에만 다시로드 할 수있는 방법이 있습니까? 그러나 fancybox가 양식 페이지에서 닫히면 아무 일도 일어나지 않습니다. 그렇게하는 방법?

+0

'type'을 사용하여 상자를 여는 경우 : 'iframe''? – JFK

+0

@JFK 예 iframe을 사용하고 있습니다. 코드는 다음과 같이 보입니다 : $ .fancybox ({ 'href': popupurl, 'type': 'iframe'});'열린 페이지에서 열린 fancybox를 조작하는 방법입니다. 열린 페이지 (registration_complete.php)에서'parent. $. fancybox ({ 'onClosed': function() {parent.location.reload (true);}})'를 추가하려고했습니다. 내가 뭘 하려는지 이해할 수 있기를 바랍니다. 고맙습니다. – wzazza

답변

1

나는 내 자신의 문제를 해결했다고 생각합니다. 사람이 얼마나 관심이 있다면 : 내가 무슨 짓을

나는 사용자가 등록 여부를이 있는지 확인하기 위해 onClosed 기능에 $.post을 추가하고, 상위 페이지를 새로 고침하면 fancybox는 아무것도하지하지 않을 경우 폐쇄되고,이 마지막으로 근무하는 경우 나는 단지 필요한 것을 좋아한다. 스크립트 :

'onClosed' : function() { 
$.post("checkifisregistered.php", 
    function(data) { 
    if(data=='yes') { 
    parent.location.reload(true); 
    }; // if 
    } // function data 
); //post 
} // onClosed 
관련 문제