我有一个非常奇怪的问题。我的基于Jquery的表单似乎是两次提交自己。
只有当我使用以下代码提交表单时才会发生:
<button class="btn dark"><i id="transfer-spin" class="fa fa-cog"></i> Transfer...</button>
当我使用以下内容时,我没有得到双重提交:
<input type="submit" value="Transfer" class="btn btn-success dark" id="transfer-button"/>
以下是上下文中的代码:
FORM:
<form class="form-horizontal hidden" id="transfer-form" novalidate>
<fieldset>
<div class="control-group">
<div> </div>
<div class="controls">
<button class="btn dark"><i id="transfer-spin" class="fa fa-cog"></i> Transfer...</button>
</div>
</div>
</fieldset>
</form>
和JQuery代码:
$('#transfer-form').submit(function()
{
event.preventDefault();
//run some error checks
if (messageArray.length !== 0)
{
//Return errors
} else {
$('#transfer-button').prop('disabled', true);
$('#transfer-spin').addClass('fa-spin');
var url ='/api/transfer';
$.ajax({
//Do the ajax call...
答案 0 :(得分:2)
您需要在event
中传递submit
参数:
$('#transfer-form').submit(function(event)
答案 1 :(得分:1)
我认为你必须在函数中指定事件变量,以防止默认行为。
$('#transfer-form').submit(function(event)
{
event.preventDefault();
...
}
答案 2 :(得分:1)
您的提交功能需要接收事件对象
function(event){ ...