在新窗口中提交表单

时间:2011-08-17 20:39:39

标签: javascript jquery forms

我有一个常规的POST表单。我有2个提交按钮,一个叫做“提交”,另一个叫“预览”。

我想要做的是,当点击提交按钮时,我希望在同一窗口中定期提交表单。但是,当单击预览时,我希望更改表单的操作URL,并在新窗口中打开它。 E.g:

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

在打开新的弹出窗口后,我希望恢复旧的动作/目标属性,因此如果单击提交按钮,它将被提交到常规URL。

如何做到这一点?

2 个答案:

答案 0 :(得分: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 -->

答案 1 :(得分:0)

一种选择是限制自己使用HTML5浏览器,并在预览按钮上指定formaction =“http://new-url.com”formtarget =“_ blank”。