我写了一个JQuery插件来通过ajax提交表单。它运作良好。但是当我尝试在下面的同一表格上使用两个提交按钮时出现问题 -
charArray[0]
单击任意一个按钮时,表单将被提交两次。 <form>
<input type="submit" id="CreateAndExit" value="Create and Exit" />
<input type="submit" id="CreateAndAdd" value="Create and Add Another" />
</form>
$('#CreateAndExit').Save(optionsA);
$('#CreateAndAdd').Save(optionsB);
中一个按钮的任何更改也适用于其他按钮。
这是我的插件的结构(删除了不必要的行) -
beforeSendFunction()
如何克服这个问题?
答案 0 :(得分:0)
您可能不应该有两个提交按钮。但是为了解决您的问题,您可能需要在执行自定义操作之前阻止表单自然提交。呼叫
e.preventDefault();
在调用.save()
函数之前,在提交或单击处理程序内
不仅如此,但在代码中使用提交click
处理程序调用表单submit
处理程序是多余的。只需使用提交处理程序并删除提交按钮单击处理程序。