2011-08-17 5 views
0

정규 POST 양식이 있습니다. 나는 2 개의 제출 버튼을 가지고 있는데, 하나는 '제출'이라고하고 다른 하나는 '미리보기'입니다.새 창에서 양식 제출

제출 버튼을 클릭하면 양식이 동일한 창에 정기적으로 제출되기를 원합니다. 그러나 미리보기를 클릭하면 양식의 동작 URL을 변경하고 새 창에서 열 수 있습니다. 예컨대 :

$("#myForm").attr('action', 'http://new-url.com') 
    .attr('target', '_BLANK'); 
$("#myForm").submit(); 

그리고 새 팝업 창이 열린 직후, 나는 이전 액션/목표는 다음을 클릭 제출 버튼이, 그것은 일반 URL에 제출 될 것이다, 그래서 만약 복원 할 속성을합니다.

어떻게이 작업을 수행 할 수 있습니까?

답변

2
<form onsubmit="this.action = 'http://old-url.com'; this.target = '_self';"> 
<input type="submit" value="Submit"> <!-- This triggers the onsubmit that resets the action and target --> 
<input type="button" value="Preview" onclick="this.form.action = 'http://new-url.com'; this.form.target = '_blank'; this.form.submit();"> <!-- calling submit() doesn't invoke onsubmit --> 
+0

이것은 일반 자바 스크립트로 수행해야합니까, 아니면 내 예제에서와 같이 jquery를 통해 수행 할 수 있습니까? –

+0

네, jquery를 통해 할 수 있습니다. 나에게 아이디어를주는 것을 받아들이는 것. –

+0

죄송합니다. 브라우저에서 느린 스크립트 경고가 가장 많이 발생하는 스크립트를 제외하고 jQuery를 실제로 알지 못합니다. – Neil

0

한 가지 옵션은 자신을 HTML5 브라우저로 제한하고 미리보기 버튼에 formaction = "http://new-url.com"formtarget = "_ blank"를 지정하는 것입니다.

+0

+1 내가 제안하려고했던 것. –