我有一个表单,其中有2个输入,这些是提交类型的输入。
<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
按钮,则应该执行其他一些操作。
答案 0 :(得分:5)
首先,您需要将submit
输入更改为按钮(或至少其中一个),因为1个表单中的2个提交按钮无效。然后为每个按钮指定“自己的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
}
答案 1 :(得分:1)
尝试使用jQuery submit()函数,如下所示:
$('#deposit').submit(function(){
//Code to run
});
最好是因为如果某个字段错误,您可以取消客户端事件。
你不需要一个插件来做,但是有很多: http://www.designyourway.net/blog/resources/55-jquery-form-plugins-to-download-and-use/
答案 2 :(得分: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)
来查看发送者答案 3 :(得分: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');
}
有点像这样。