Я огляделся, и ни одна из других подобных постов мне не помогла. Я создал форму AJAx
в Yii 2
и jQuery
и кажется, что она представляет форму дважды.
Моя форма:
$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;
в javascript-коде?
Почему он отправляется дважды?
Дополнительная информация: Как ни странно, это происходит только в первый раз; если я снова отправлю сообщение, он отправляется только один раз; но если я перезагружу страницу и нажму «отправить», она снова сделает это дважды.
Возможно, вам придется изменить свой код, как показано ниже:
$('#company_form').submit(function(e) { e.preventDefault(); e.stopImmediatePropagation(); signup('company'); return false; });