2011-11-21 68 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'); 
} 

一些这样的事。