我的后端登录表单只需单击登录按钮即可提交。它会创建一个<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>
标记。我甚至删除了那些,我仍然看到同样的问题。
任何想法都会受到赞赏。
答案 0 :(得分:1)
表单id
上的div
似乎导致了问题。删除它已经解决了所有问题。
它导致了冲突,因为它与id
具有相同的form
。
答案 1 :(得分:0)
我只想添加一下,通常你分配模型&#34; formName&#34;作为您的表单ID
<?php $form = ActiveForm::begin(['id' => $model->formName()]); ?>