Php Yii2:从提交按钮重定向到特定操作

Php Yii2:从提交按钮重定向到特定操作,php,yii2,Php,Yii2,我无法将自定义表单重定向到特定操作 我正在尝试的是 <?= Html::submitButton( 'delete-selected' ,['class' => 'btn btn-primary']) ?> 我试图做的是使用表单删除一些记录。表单名称为delete,具有选择下拉字段 我想将数据发布到actiondeleteselected,并在delete查询中使用$\u post变量 我该怎么做 谢谢。在ActionDelete表单中 return $this->re

我无法将自定义表单重定向到特定操作

我正在尝试的是

<?= Html::submitButton( 'delete-selected' ,['class' => 'btn btn-primary']) ?>
我试图做的是使用表单删除一些记录。表单名称为
delete
,具有选择下拉字段

我想将数据发布到action
deleteselected
,并在delete查询中使用$\u post变量

我该怎么做


谢谢。

在ActionDelete表单中

return $this->render('delete');
以前

return $this->redirect(['delete-selected'])

第二条指令将永远不会执行,因为您已经返回函数,然后控件已经返回给调用方

您在表单上放置的任何提交按钮都将提交到表单的操作参数中指定的url。如果尚未指定,则Yii将使用窗体的当前控制器/操作。如果要覆盖此行为,则需要为表单指定操作。e、 g

$form = ActiveForm::begin([
    'action' => 'appointment/delete-selected'
]);

这有点像是一个注释。如果要用控制器的操作覆盖窗体的操作,请确保将“action”的值设置为数组:

$form = ActiveForm::begin([
'action' => ['appointment/delete-selected']
]);

它将操作视为控制器
约会中的操作
删除选定的

的路径,严格来说,这不是真的。
操作
参数将接受字符串或数组,请参见此处。传递数组的唯一好处是希望向操作传递其他参数。
$form = ActiveForm::begin([
'action' => ['appointment/delete-selected']
]);