yii2 如何避免表单重复提交

新手提问 · rickykurt · 于 7年前 发布 · 20739 次阅读

大家好。 具体问题是这样的,一个普通表单,在点击submit按钮的时候采用连击的方式,在数据库内会生成多条记录。 想问下大家,是怎么解决这个问题的。

重复的数据是通过create_at和updated_at时间戳判断出来的,同一个时间戳的数据会有很多条。

代码都是gii生成的,没有做过特殊处理,csrf已开启。

表单代码如下:

<div class="campus-form">

    <?php $form = ActiveForm::begin(); ?>

    <?= $form->field($model, 'title')->textInput(['maxlength' => true]) ?>

    <div class="form-group">
        <?= Html::submitButton(
            $model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'),
            ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary'])
        ?>
    </div>

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

</div>

php代码如下:

public function actionCreate()
    {
        $model = new Campus();

        if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    }

还望各位高手多多指教。谢过先。

共收到 3 条回复 Yii2 Form 重复提交
forecho#17年前 0 个赞

这个问题你可以看一下这个 http://www.getyii.com/topic/144

yexz#27年前 0 个赞

兄弟可以用下这个插件http://www.getyii.com/topic/261

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册