Yii2 表单提交按钮必须单击两次才能操作。如何防止这种情况?

kri*_*555 3 yii2 yii2-advanced-app

yii2提交按钮需要在表单中点击两次

我有一个问题,我需要检查控制器中的多个提交按钮。它有效,但我需要单击提交按钮两次。在控制器中:

switch(\Yii::$app->request->post('submit')) {
                case 'submit_1' :

                  //my code 
                   break;  

                case 'submit_2' :                   
                 //my code 
Run Code Online (Sandbox Code Playgroud)

在视图中

<?= Html::submitButton('NEXT', ['name' => 'submit', 'value' => 'submit_2','class'=>'btn btn-primary pull-right']) ?>
<?= Html::submitButton('PREVIOUS', ['name' => 'submit', 'value' => 'submit_3','id'=>'next_summary', 'class' => 'btn btn-primary pull-right']) ?>
Run Code Online (Sandbox Code Playgroud)

Dav*_*omb 8

使用 jquery 保留字作为属性 ID 或属性名称存在问题。

https://github.com/yiisoft/yii2/blob/master/docs/guide/input-forms.md搜索“命名提交按钮等表单元素时要小心”

https://api.jquery.com/submit/搜索“附加说明”

更改您的提交名称将解决您的点击两次问题:

<?= Html::submitButton('NEXT', ['name' => 'submit_next', 'value' => 'submit_2','class'=>'btn btn-primary pull-right']) ?>
<?= Html::submitButton('PREVIOUS', ['name' => 'submit_prev', 'value' => 'submit_3','id'=>'next_summary', 'class' => 'btn btn-primary pull-right']) ?>
Run Code Online (Sandbox Code Playgroud)