2013-07-25 6 views
1

target = _blank 형식을 제출하고 다른 페이지로 리디렉션해야합니다.양식 제출 후 리디렉션 jquery

HTML

$(document).ready(function() 
{ 
    $('#registration_form').submit(function(e) 
    { 
     var flag=validate(); 
     if(flag) 
      $(location).attr('href',redirectionurl); 
     return flag; 
    }); 

    $("#submit").click(function(){ 
     $('#registration_form').submit(); // this triggers the submit event 
    }); 
}); 

내가 버튼 유형을 변경하는 경우

이 검증 플래그에 따라 제출 양식을 제출하지만, 리디렉션이 작동하지 않는

<form id="registration_form" name="registration_form" method="post" action="actionurl" target="_blank"> 
    <input type="button" name="submit" id="submit" value="Submit" /> 
</form> 

JQUERY.

제출 리디렉션 대신 BUTTON을 사용하지만 제출하지 않으면 양식이 사용됩니다.

나는 잘못 생각했다. 도움.

감사합니다.

+0

제출이 서버로 왕복 이동하기 때문에 서버 측에서이 리디렉션을 만드는 것이 더 논리적이지 않습니까? – nubinub

+0

@nubinub 어떤 솔루션입니까? – smk3108

+0

표준 양식은 일반적으로 전체 요청입니다. 양식이 제출되면 새 페이지가로드되므로 페이지가 다시로드되고 리디렉션이 안정적으로 작동하지 않습니다. 추가 로직을 추가하려면 기본 동작을 무시하고 Ajax 요청을 사용하여 양식 데이터를 보내야합니다 (트릭없이 표준 제출 후 작업 할 수 없음). 비록 당신이 효과적으로 기본 동작을 재현하는 것처럼 들리 겠지만 ... 그래서 서버 측 코드는 새 페이지를 제공해야하며 제출이 완료되기 전에 유효성 검사가 완료되어야합니다. 그렇지 않으면 약간의 독서가 필요합니다. –

답변

0

목표를 _blank로 정의 했으므로 어렵게 생각 하겠지만 나중에 포럼을 제출하면 jquery가 아니라 서버 측에서 유효성 검사를 수행하는 것이 좋습니다. HTML 코드는 같아야합니다 :

<form id="registration_form" name="registration_form" method="post" action="actionurl" target="_blank"> 
    <input type=hidden name="flag_input" value="false"> 
    <input type="button" name="submit" id="submit" value="Submit" /> 
</form> 

그리고 jQuery 코드 :

$(document).ready(function() 
{ 
    $('#registration_form').submit(function(e) 
    { 
     var flag=validate(); 
     if(flag) 
      $("#flag_input").val("true") 
    }); 

    $("#submit").click(function(){ 
     $('#registration_form').submit(); 
    }); 
}); 

그리고 서버가 flag_input를 얻을 - 진정한 경우, 그것은하지 않을 경우, 사용자는 것, 리디렉션합니다 다시 포럼을 채우기 위해. 리디렉션을 전혀 원하지 않으면 ajax를 사용할 수 있습니다. 및 서버 측 : 편집

(난 당신이 사용 langues하지만 기본은 그 :)

경우 (flag_input 어떤지 모르는 == TRUE) - PDF를 생성하고 리디렉션 X

다른

- Y (포럼 페이지)로 리디렉션

은 도움이 있으면 알려주세요. Goodluck!

+0

새 탭에서 양식 제출시 pdf를 생성하고 양식 페이지를 다른 페이지로 리디렉션해야합니다. 그것을 수행하는 방법 – smk3108

+0

좋아, 그래서이 코드를 사용할 수 있고 서버 측에서 : (나는 어떤 언어를 사용하는지 모르지만 기본은 같다 :) if (flag_input == true) -X로 리다이렉트 , 그렇지 않으면 Y로 리다이렉트한다 (나는 대답을 편집했다) –