[英]Ajax form submitting twice with Yii 2
我環顧四周,其他類似的帖子都沒有幫助過我。 我在Yii 2
和jQuery
構建了一個基於AJAx
的表單,似乎它提交了兩次表單。
我的表格:
$form = ActiveForm::begin([
'id' => 'company_form',
'ajaxDataType' => 'json',
'ajaxParam' => 'ajax',
'enableClientValidation' => false
]);
我的JS代碼:
$(document).ready(function() {
/* Processes the company signup request */
$('#company_form').submit(function() {
signup('company');
return false;
});
})
function signup(type) {
var url;
// Set file to get results from..
switch (type) {
case 'company':
url = '/site/company-signup';
break;
case 'client':
url = '/site/client-signup';
break;
}
// Set parameters
var dataObject = $('#company_form').serialize();
// Run request
getAjaxData(url, dataObject, 'POST', 'json')
.done(function(response) {
//.........
})
.fail(function() {
//.....
});
// End
}
我不應該通過return: false;
標准提交停止return: false;
在JavaScript代碼?
為什么要提交兩次?
更多信息:然而奇怪的是,這似乎只是第一次發生; 如果我再次點擊提交它只提交一次; 但如果我重新加載頁面並點擊提交,它將再次執行兩次。
您可能需要更改以下代碼:
$('#company_form').submit(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
signup('company');
return false;
});
下一個JS將適用於任何'enableClientValidation'
狀態:
$('#company_form').on('beforeSubmit', function (e) {
signup('company');
return false;
});
https://yii2-cookbook.readthedocs.io/forms-activeform-js/#using-events
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.