gpt4 book ai didi

javascript - Ajax 表单使用 Yii 2 提交两次

转载 作者:可可西里 更新时间:2023-11-01 13:17:37 24 4
gpt4 key购买 nike

我环顾四周,没有其他类似的帖子对我有帮助。我在 Yii 2jQuery 中构建了一个基于 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

}

我在 javascript 代码中放入 return: false; 不应该停止标准提交吗?

为什么要提交两次?

更多信息:然而奇怪的是,这似乎只发生在第一次;如果我再次点击提交,它只会提交一次;但如果我重新加载页面并点击提交,它将再次执行两次。

最佳答案

您可能需要像下面这样更改您的代码:

$('#company_form').submit(function(e) {
e.preventDefault();
e.stopImmediatePropagation();
signup('company');
return false;
});

http://api.jquery.com/event.stoppropagation/

http://api.jquery.com/event.stopimmediatepropagation/

关于javascript - Ajax 表单使用 Yii 2 提交两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27176465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com