2013-02-08 30 views
1

表单中有一些按钮。我希望他们中的一个将另一个网址用作动作网址。但我希望它在这种形式之内,我不想为此而创建另一种形式。一种形式的按钮的不同动作URL

我该怎么做?

+0

那么,HTML不能这样做。 PHP或JavaScript可以做到这一点(虽然与PHP hacky) – Khez

回答

2

您可以使用JavaScript这个

<form name="my_form" method="post"> 
    Name <input type="text" name="person_name" /><br /> 
    <input type="button" value="Button 1" name="button_1" onclick="return target_btn1();"> 
    <input type="button" value="Button 2" name="button_2" onclick="return target_btn2();"> 
</form> 

<script> 
function target_btn1() { 
    document.my_form.action = "whatever.php"; //Trigger action 
    document.my_form.submit(); //Submit action performed 
    return true; 
} 

function target_btn2() { 
    document.my_form.action = "whatever2.php"; //Trigger action 
    document.my_form.submit(); //Submit action performed 
    return true; 
} 
</script> 
+0

我该如何改变方法(获取,张贴)的形式相同的方式吗? –

+0

你可以试试。我不是100%,但它会工作。 你可以使用jQuery来做到这一点,但我不会沿着这条路线走下去,除非你至少已经尝试过第一种方式。我会尝试快速模拟代码以查看它是否有效,但是我无法从这里访问JSFiddle.net ... – SQLGuru

+0

Ya只是更改属性值.. –

2

onclick事件添加到按钮调用javascript函数。 然后,在该功能中,为表单设置动作,然后提交。 是这样的:

<input type="button" id="blah" value="Press Me" onclick="javascript:SetForm();"> 

然后,在javascript:

function SetForm() 
{ 
    document.formname.action = ''; 
    document.formname.submit(); 
} 
3

HTML5(IE> 9),提供了formaction attribute

<form action="demo_form.asp" method="get"> 
    First name: <input type="text" name="fname"><br> 
    Last name: <input type="text" name="lname"><br> 
    <button type="submit">Submit</button><br> 
    <button type="submit" formaction="demo_admin.asp">Submit as admin</button> 
</form> 

有两个提交按钮的形式。第一个提交按钮将 表单数据提交给“demo_form.asp”,第二个提交到 “demo_admin.asp”。

相关问题