2013-02-08 37 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」。

相關問題