Jquery表单被提交两次

Jquery form being submitted twice

本文关键字:两次 表单 提交 Jquery      更新时间:2023-09-26

我有一个非常奇怪的问题。我的基于 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 class="form-horizontal hidden" id="transfer-form" novalidate>
    <fieldset>
               <div class="control-group">
               <div>&nbsp;</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...
您需要

event作为参数传递submit

$('#transfer-form').submit(function(event)

提交函数需要接收事件对象

函数(事件){...

我相信您必须在函数中指定事件变量,这样您就可以防止默认行为。

$('#transfer-form').submit(function(event)
{
   event.preventDefault(); 
   ... 
}