登录表单需要第二次点击提交
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()]); ?>
我的后端登录表单通过单击登录按钮提交。它创建一个 <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()]); ?>