@EvgMul

Yii2 почему форма отправляется дважды через раз?

Здравствуйте. Столкнулся со следующей проблемой. Иногда форма отправляется дважды, соответственно создается 2 записи в базе. Пробовал заполнять форму разными способами при разных условиях, никакой закономерности не могу уловить.

Сама форма:
<?php

use yii\widgets\ActiveForm;
use yii\helpers\Html;
use common\models\City;
/* @var $this yii\web\View */

$this->title = $model->isNewRecord ? 'Создание адреса' : 'Изменение адреса';

?>

<div class="row">
    <div class="col-sm-4 col-md-3">
        <?= $this->render('/contacts/menu') ?>
    </div>
    <div class="col-sm-8 col-md-9">
        <div class="box box-primary">
            <div class="box-header">
                <h3><?// Html::encode($this->title) ?></h3>
            </div>

            <div class="box-body">
                <?= \common\widgets\Alert::widget(); ?>
                <?php
                $form = ActiveForm::begin([
                        'enableClientValidation' => true,
                    ]
                );
                ?>
                <?= $form->field($model, 'addr')->textInput(['maxlength' => true]) ?>
                <?= $form->field($model, 'post_code')->textInput(['maxlength' => true]) ?>
                <?= $form->field($model, 'id_city')->dropDownList(City::getForDropdown()); ?>
                <?= $form->field($model, 'is_head_office')->checkbox(); ?>
                <?= $form->field($model, 'mapAddr',
                    ['template' => '{label}{input}{hint}{map}{error}',])->widget(\kalyabin\maplocation\SelectMapLocationWidget::className(),
                    [
                        'attributeLatitude' => 'latitude',
                        'attributeLongitude' => 'longitude',
                        'googleMapApiKey' => 'AIzaSyCBHA4KKBAltxjI2LHONR2AhNJekCfx1Vw',
                        'draggable' => true,
                    ]); ?>

                <div class="form-group">
                    <?= Html::submitButton($model->isNewRecord ? 'Добавить' : 'Изменить', ['class' => 'btn btn-success']) ?>
                </div>

                <?php ActiveForm::end(); ?>
            </div>
        </div>
    </div>
</div>


Экшн в контроллере:
public function actionCreateAddress()
    {
        $model = new Address();

        if ($model->load(\Yii::$app->request->post()) && $model->save()) {
            \Yii::$app->session->setFlash('success', 'Адрес успешно добавлен');
            return $this->redirect(['contacts/address']);
        }

        return $this->render('address/_form', compact('model'));
    }


Подскажите, пожалуйста, в чем может быть причина?
  • Вопрос задан
  • 218 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы