2011-11-21 67 views
0

我有一種形式,其中有2個輸入這些提交類型的輸入像這樣。如何在有2個提交值時在JavaScript中提交表單中的值?

<form> 
    <input type="text" name="payee" value=""> 
    <input type="text" name="amount" value=""> 
    <input type="text" name="date" value=""> 
    <input type="submit" name="deposit" value="Distribute"> 
    <input type="submit" name="distribute" value="Deposit"> 
</form> 

在jQuery中是這樣的:

$("form submit").click(function() { 
    // i wrote code. 
} 

如果我點擊deposit按鈕應該發生的一些行動。如果我點擊distribute按鈕,應該發生一些其他操作。

+1

什麼問題? –

回答

5

首先,您需要將您的submit輸入更改爲按鈕(或其中至少一個),因爲2個提交按鈕爲1形式無效。然後給每個按鈕它自己的Id

<input type="button" name="deposit" value="Distribute" id="distribute"> 
<input type="button" name="distribute" value="Deposit" id="deposit"> 

然後,在jQuery的你就可以使用每個按鈕的Id運行被點擊時它特定的代碼,就像這樣:

$("#distribute").click(function() { 
    // code to run when distribute is clicked 
} 
$("#deposit").click(function() { 
    // code to run when deposit is clicked 
} 
+0

不過我會將其中一個按鈕作爲提交類型留下,以便用表單提交時按Enter鍵也會導致提交表單。 – dfsq

0

插入另一輸入類型:

<input type="hidden" name="hf" id="hf" value=""> 

$("form :submit").click(function() { 
    if ($(this).attr('id')=='distribute') $("#hf").val('sent by distribute'); 
else $("#hf").val('sent by deposit'); 
} 

並在服務器中,您可以通過閱讀hiddenField值(hf)來查看發送的人數

+0

'$(「form submit」)'不起作用。 '$('form:submit')'.. – dfsq

+0

@dfsq yup,fixed .. –

0

您可以在document.ready函數的按鈕上添加自定義屬性,並單擊該按鈕可以確定哪個按鈕已發佈請求形成。

例如,要添加自定義屬性

<input type="submit" id="deposit" value="Distribute"> 
<input type="submit" id="distribute" value="Deposit"> 


$(function() { 
$("#deposit").attr('isDeposit','1'); 
$("#distribute").attr('isDeposit','0'); 

}); 

並點擊提交

$("form submit").click(function() 
{ 
var identifyButton = $(this).attr('isDeposit'); 
} 

一些這樣的事。