2012-08-16 12 views
2

使用一个空白的动作形式 - 行动=“”。2提交按钮上的形式 - 一个需要打开一个新的窗口

我有做不同的事情在表单上的2个按钮。一个提交/保存的信息,另开一个输出表:

<input type="submit" name="SubmitSave" id="SubmitSave" value="Submit/Save" onClick="this.form.action='PA_Monitorcall.php'; this.form.submit()" /> 

<input type="submit" name="EmailDetails" id="EmailDetails" value="Email" onClick="this.form.action='OutputSheetPA.php'; this.form.submit()" /> 

我需要的输出纸张在新窗口中打开,但不能有这种形式头的细节,它需要去上面的按钮的代码。有任何想法吗?

干杯!

回答

3

两者的onClick事件提交按钮,呼叫javascript函数,这将切换形式标签的“目标”属性为“_blank”或“_parent” /“”。 与“目标”这个新的属性值,您的帖子将在一个新窗口/标签提交

<form target="" action="" method="post"> 
<input type="submit" value="Same Window" onClick="ChangeTarget('same')" /> 
<input type="submit" value="New Window" onClick="ChangeTarget('new')" /> 
</form> 

function ChangeTarget(loc) { 
if(loc=="new") { 
    document.getElementById('form_id').target="_blank"; 
} else { 
    document.getElementById('form_id').target=""; 
} 
} 
+1

只是写这个。它也应该在之后再次移除,否则按钮1现在将执行相同的操作。或让Button1以太删除 – Waygood 2012-08-16 14:05:54

+0

@Waygood,您可以指定IF函数 – 2012-08-16 14:08:56

+0

内声明如果预览(打开另一扇窗)的形式将仍然有原来的页面(仍处于打开状态)目标=“_空白”。你只指定onclick函数会改变__second__按钮的目标,而不是两者。你的答案是正确的,只需要抛光:) – Waygood 2012-08-16 14:13:11

1

使用type="button"代替。你的onClick已经呼叫提交,所以你不需要他们是submit输入。

+1

如果按钮操作是不'submit',不要使用'类型='submit''! – nickaknudson 2012-08-16 14:06:35

-1

可以命名具有相同名称的两个输入,然后检查该投入的价值。

<form action=""> 
    <input type="submit" name="submit" id="SubmitSave" value="Submit/Save" /> 
    <input type="submit" name="submit" id="EmailDetails" value="Email" /></form> 
</form> 

而在PHP文件:

<?php 
if ($_POST['submit'] == 'Submit/Save') 
    // save the form input 
elseif ($_POST['submit'] == 'Email') 
    // do other stuff 
... 
+0

目标就像预览。发布到新窗口已指定 – Waygood 2012-08-16 14:07:46