2011-08-17 80 views
0

提交表单我有一个普通邮寄的形式。我有2个提交按钮,一个叫'提交',另一个叫'预览'。在新窗口中

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

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

,并打开新的弹出窗口之后,我想老动作/目标属性得到恢复,因此,如果提交按钮,然后单击,将它提交到正规的网址。

这怎么办?

回答

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

这是否必须用普通的JavaScript实现,也可以通过它的jQuery在我的例子做什么样的? –

+0

是的,它可以通过jQuery完成。接受给我一个主意。 –

+0

对不起,我真的不知道jQuery的,但因为这是我的浏览器慢脚本警告所占比例最大原因脚本。 – Neil

0

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

+0

+1我正要建议。 –