2012-07-10 3 views
0
나는 다음과 같은 모달 팝업 스크립트를 사용하고

마감 : http://fancyapps.com/fancybox/Fancyapp 모달 상자는 iframe이

을 나는 IFrame을 가진 모달 팝업이있다. iFrame에는 등록 양식이 있습니다. 사용자가 등록하면 멤버 전용 페이지로 리디렉션됩니다. 현재 같은 모달 창으로 리디렉션되고 있습니다. 모달 창이 닫히고 모달 창을 클릭 한 페이지가 멤버 전용 링크로 리디렉션되도록합니다. 여기

$(document).ready(function() { 
    $(".various").fancybox({ 
     'width' : '85%', 
     'height' : '86%', 
     'paddingTop' : '40', 
     'autoScale' : false, 
     'transitionIn' : 'none', 
     'transitionOut' : 'none', 
     'type' : 'iframe' 
    }); 
}); 

모달 상자 호출하는 HTML입니다 : 여기

는 자바 스크립트입니다

<a class="various button" data-fancybox-type="iframe" href="/signup-test"> 

답변

0

만 성공적으로 등록한 회원을 리디렉션 할 때문에를, 당신은 삽입해야 귀하의 등록 및/또는 유효성 확인 코드의 성공 기능으로 사용자를 리디렉션하는 코드.

나는 코드의 나머지 부분없이 구체적인 예를 해결할 수는 없지만,이 두 가지 방법은 다음과 같습니다

옵션 1 - 당신은 자바 스크립트 함수를 만들 수 있습니다

자바 스크립트 함수 만들기 iframe을 닫고 사용자를 리디렉션합니다. 이 작업을 수행하는 트릭은 iframe이 닫히면 스크립트가 계속 실행되도록 부모 문서에 스크립트를 넣는 것입니다.

이 기능은 부모 문서에 간다 :

function closeiframe_redirect(url){ 
    $.fancybox.close(); 
    window.location = url; 
} 

삽입이 코드를 사용하면 함수를 호출 할 때

parent.closeiframe_redirect('members_page.html'); 

옵션 2 - AJAX를 성공 기능에서

submitHandler: function (form){ 
    $.ajax({ 
    type: 'POST', 
    url: 'registration-exec.php', 
    data: $("#loginForm").serialize(), 
    success: function(data) { 
     if(data == "true") { 
      // This closes the Registration Form 
      $("#registrationForm").fadeOut("fast"); 
      window.location = 'members_page.html' 
     } 
    }); 
}   
관련 문제