Jquery表单被提交两次

时间:2015-06-17 20:57:46

标签: javascript jquery

我有一个非常奇怪的问题。我的基于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>&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...

3 个答案:

答案 0 :(得分:2)

您需要在event中传递submit参数:

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

答案 1 :(得分:1)

我认为你必须在函数中指定事件变量,以防止默认行为。

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

答案 2 :(得分:1)

您的提交功能需要接收事件对象

function(event){ ...