2013-02-04 101 views
4

我在myform中有3個sumbit按鈕,我需要不同的3個動作基於它點擊的buttton。所以我需要寫javascript功能來做同樣的事情。我怎麼才能知道在JavaScript中哪個按鈕被點擊。與onsubmit函數在同一表單上的多個提交按鈕

的Javascript:

<script type="text/javascript" language="javascript"> 
function submitform(){ 
    //do something 
} 

HTML:

form name="myform" method="get,post" onsubmit="return submitform();" 
input type="submit" name="submit" value="Home" 
input type="submit" name="submit" value="Reschedule" 
input type="submit" name="submit" value="Cancel" 

任何幫助將不勝感激

+0

每個按鈕上的點擊事件使用不同的參數調用提交功能 – Floris

+0

不能有一個形式與2提交按鈕 – Dipak

回答

0

如果你可以使用jQuery,那麼這可能是更容易。

然而,一種解決方案是從表單中移除submitform()並將其添加到每個提交按鈕的onclick事件中。這樣,你可以改變它來傳遞一個參數來表示哪個按鈕調用它。

祝你好運。

+0

爲什麼我使用這種方法是因爲基於提交按鈕我必須通過一些參數我的python腳本(燒瓶框架工作)。任何方式> –

+0

好的,但你仍然應該能夠將提交表單邏輯從你的表單提交到每個提交按鈕的onclick事件 - 有意義嗎? – sgeddes

0

編輯:

你也可以有一個隱藏的輸入,它告訴你這是按下按鈕,然後處理它的服務器上。當點擊一個按鈕時,它會在提交之前更改該輸入。

<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='forward';return true;" id="linkName" value="Forward" /> 
<input type="submit" onclick="javascript:document.getElementById('submitClicked').value='back';return true;" id="back" value="Back" /> 

演示:http://jsfiddle.net/Homeliss/vperb/

注:演示用了jQuery顯示一條消息,而不是發帖的形式,但是這只是用於演示目的。解決方案是純javascript的

+0

OP正在尋求Javascript解決方案。你提供的解決方案是一個jQuery解決方案。 –

+0

對不起,我編輯它刪除該部分 –

+0

在onclick處理程序,你可以做「this.form.myhiddeninput.value = 99」,如在這個小提琴中:http://jsfiddle.net/htsbx484/ –

-1

我有一個問題。你的表單中是否還有其他輸入字段? 如果還有其他字段,例如文本字段,當我們按下文本字段中的Enter鍵時,將調用哪個按鈕動作?

我的建議是這樣的:

<form name="myform" method="get,post" onsubmit="return false;"> 
    <input type="button" value="Home" onclick="submitform(1)" /> 
    <input type="button" value="Reschedule" onclick="submitform(2)" /> 
    <input type="button" value="Cancel" onclick="submitform(3)" /> 
</form> 
在這段代碼

,用戶必須點擊一個按鈕提交表單並按下回車不會粗澀在做任何動作。

+0

你也可以告訴我我如何將參數傳遞給java腳本? –

+0

您可以使用'document.getElementById('seachfield')。value' 這會返回元素的值爲'id =「searchfield」'。在javascript函數內部,您可以爲表單中的每個元素調用它。確保他們都有唯一的ID。 –

+0

'function submitform(id){ \t if(id == 1); // do somthing \t else if(id == 2); // do somthing \t else if(id == 3); // do somthing }' –

0

我們可以提交表格一旦在html頁面。所以我們只使用一個表單中的一個提交按鈕。但爲了調用更多功能,我們可以使用onClick事件,並且輸入類型應該是按鈕。

相關問題