ajaxForm提交发生两次

时间:2016-02-05 09:11:17

标签: spring-mvc ajaxform

// JS

$("#saveMerchantsForm").ajaxForm({
                success : function(response){
                    alert(response);
                }
            }).submit();

// HTML

    <form class="form-horizontal" th:action="@{/manager/saveMerchant}" th:object="${merchantModal}" id="saveMerchantsForm" method="POST">

<div class="row">
<div class="input-field col m6 s12">
<input class="clear" th:field="*{merchantFname}" id="merchantFname" type="text"/>
<label class="merchantFname clear" style="width: 100%;" for="merchantFname">Merchant First Name</label>
</div>
<div class="input-field col m6 s12">
<input class="clear" id="merchantMname" th:field="*{merchantMname}" type="text"/>
<label class="merchantMname clear" style="width: 100%;"  for="merchantMname">Merchant Middle Name</label>
</div>
</div>
</form>

当我去提交时,它提交表格两次,我该怎样阻止这个?

1 个答案:

答案 0 :(得分:0)

你可以尝试在你的.ajaxForm函数之前添加一个unbind:

$("#saveMerchantsForm").unbind('ajaxForm');
$("#saveMerchantsForm").ajaxForm({
            success : function(response){
                alert(response);
            }
        }).submit();

或者你可以使用这样一个:

$("#saveMerchantsForm").one('ajaxForm');
$("#saveMerchantsForm").ajaxForm({
            success : function(response){
                alert(response);
            }
        }).submit();

一个意味着此函数每个元素只运行一次。

unbind删除以前绑定的元素。

至少解决了多次触发函数的问题