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

Login form requires second click to submit

我的后端登录表单通过单击登录按钮提交。它创建一个 <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> 标签用于样式设置。我什至删除了那些,但我仍然看到同样的问题。

如有任何想法,我们将不胜感激。

问题似乎是由表单 div 上的 id 引起的。删除它已清除所有内容。

它引起了冲突,因为它与 form 具有相同的 id

我只想补充一点,通常您将模型 "formName" 指定为您的表单 ID

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