登录表单需要第二次点击提交

时间:2015-09-30 15:54:04

标签: yii2 yii2-advanced-app

我的后端登录表单只需单击登录按钮即可提交。它会创建一个<input type="hidden" name="login-button">元素,然后提交。在前端,同样是在点击时创建的,但在我再次点击按钮之前从不发布数据。

以下是视图代码的示例:

<div id="login-form" class="col-sm-12">
        <?php $form = ActiveForm::begin(['id' => 'login-form']); ?>

        <?= $form->field($model, 'username') ?>

        <?= $form->field($model, 'password')->passwordInput() ?>

        <div class="col-sm-5 col-sm-offset-4 forgotPassword">
            <?= $form->field($model, 'rememberMe')->checkbox() ?>
            <div style="margin:auto;color:#fff;margin:1em 0;font-size:10px;">
                if you forgot your password you can <?= Html::a('reset it', ['site/request-password-reset']) ?>
            </div>
            <div class="form-group">
                <?= Html::submitButton('login', ['class' => 'btn btn-primary loginButton', 'name' => 'login-button']) ?>
            </div>
        </div>

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

我在两者之间看到的唯一区别是,为了样式目的,添加了一些额外的<div>标记。我甚至删除了那些,我仍然看到同样的问题。

任何想法都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

表单id上的div似乎导致了问题。删除它已经解决了所有问题。

它导致了冲突,因为它与id具有相同的form

答案 1 :(得分:0)

我只想添加一下,通常你分配模型&#34; formName&#34;作为您的表单ID

<?php $form = ActiveForm::begin(['id' => $model->formName()]); ?>