model-view-controller - Yii2:如何在 $model 之外发送数据?
问题描述
我使用 Yii2 使用此提交按钮从视图向其控制器发送具有一个模型的表单:
<?= Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
按下按钮时还需要向控制器发送一个布尔变量,但我不知道如何将它包含在模型之外。
我可以定义一个Html::hiddenInput()来解决它,但它会将新的隐藏字段包含在 $model 中。
解决方案
据我了解,您需要知道用户何时按下提交按钮,因此您必须为提交按钮设置名称属性。您可以在选项中设置该属性。你的问题的例子
Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary','name'=>'submit-btn','value'=>($model->isNewRecord? 'create' : 'update')])
有关更多信息,请阅读此链接submitButton或submitInput。
对于控制器中的处理请求,请使用Yii::$app->request->post():
例子:
$post = Yii::$app->request->post();
if(isset($post['submit-btn']) && ($post['submit-btn'] == 'create')){
/** Your Code */
}
推荐阅读
- opencv-python - 如何在 ubuntu 的 anaconda jupyter notebook 中安装 OpenCv 库
- python - 将 Python 文件连接在一起以简化导入
- python-3.x - 如何检查列值何时从 0 变为 1 并且在多次计数后第 1 列和第 2 列值相同
- flutter - Flutter flutter_test 小部件测试金色屏幕截图中的文本空白
- sockets - socket坏了时flink如何通过socketTextStream方法重新连接socket
- mysql - MYSQL 中的重做和撤消查询
- java - 如何在 Android 中默认设置浅色主题?
- karate - 无法使用空手道框架 (UI) 处理 SAML 重定向的登录对话框
- eclipse - Eclipse 的 Selenium Jar 文件
- android - FCM 间歇性生成错误令牌