Yii2:需要点击提交按钮两次,名称和ID不是"提交"

时间:2017-09-12 12:31:13

标签: php html forms yii2

问题:我在一个页面中有三个表单,它们都有相同的错误:我需要两次单击“提交”按钮才能提交表单。

我发现这是一个常见的错误,通常是通过命名按钮"提交"来触发,但事实并非如此。

这是我的代码:

(第一种形式:更改密码)

<div id="change-password-form">
    <?php $changePasswordForm = ActiveForm::begin([
        'id'          => 'change-password-form',
        "options"     => ["class" => "animated-label"],
        "fieldConfig" => ["template" => "{input}\n{label}\n{hint}\n{error}"],
    ]); ?>

    <div class="row">
        <div class="col-md-6">
            <?= $changePasswordForm->field($changePassword, 'newPassword')->passwordInput() ?>
        </div>
        <div class="col-md-6">
            <?= $changePasswordForm->field($changePassword, 'repeatNewPassword')->passwordInput() ?>
        </div>
    </div>

    <div class="row">
        <div class="col-md-6">
            <?= $changePasswordForm->field($changePassword, 'oldPassword')->passwordInput() ?>
        </div>
        <div class="col-md-6">
            <?= Html::submitButton(
                'Change Password',
                [
                    'class' => 'btn btn-primary',
                    "style" => "width: 100%",
                    'name'  => 'submit-change-password',
                    'id'    => 'submit-change-password',
                ]
            ) ?>
        </div>
    </div>

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

(第二种形式:更改电子邮件)

<div id="change-email-form">
    <?php $changeEmailForm = ActiveForm::begin([
        'id'          => 'change-email-form',
        "options"     => ["class" => "animated-label"],
        "fieldConfig" => ["template" => "{input}\n{label}\n{hint}\n{error}"],
    ]); ?>

    <div class="row">
        <div class="col-md-6">
            <?= $changeEmailForm->field($changeEmail, 'password')->passwordInput() ?>
        </div>
        <div class="col-md-6">
            <?= $changeEmailForm->field($changeEmail, 'email')->textInput() ?>
        </div>
    </div>

    <div class="row">
        <div class="col-md-6 col-md-offset-6">
            <?= Html::submitButton(
                'Change Email',
                [
                    'class' => 'btn btn-primary',
                    "style" => "width: 100%",
                    'name'  => 'submit-change-email',
                    'id'    => 'submit-change-email',
                ]
            ) ?>
        </div>
    </div>

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

(第三种形式:更改用户名)

<div id="change-username-form">
    <?php $changeUsernameForm = ActiveForm::begin([
        'id'          => 'change-username-form',
        "options"     => ["class" => "animated-label"],
        "fieldConfig" => ["template" => "{input}\n{label}\n{hint}\n{error}"],
    ]); ?>

    <div class="row">
        <div class="col-md-6">
            <?= $changeUsernameForm->field($changeUsername, 'password')->passwordInput() ?>
        </div>
        <div class="col-md-6">
            <?= $changeUsernameForm->field($changeUsername, 'username')->textInput() ?>
        </div>
    </div>

    <div class="row">
        <div class="col-md-6 col-md-offset-6">
            <?= Html::submitButton(
                'Change Username',
                [
                    'class' => 'btn btn-primary',
                    "style" => "width: 100%",
                    'name'  => 'submit-change-username',
                    'id'    => 'submit-change-username',
                ]
            ) ?>
        </div>
    </div>
    <?php ActiveForm::end(); ?>
</div>

如您所见,提交按钮具有唯一ID和名称,它们可以正确解析为所需的HTML代码。

E.g。提交按钮&#34;更改密码&#34;看起来像这样:

<button type="submit" id="submit-change-password" class="btn btn-primary" name="submit-change-password" style="width: 100%">Change Password</button>

此案例是否有任何解决方案或解决方法?我只找到了重命名提交按钮的解决方案。

0 个答案:

没有答案