提问人:Younica 提问时间:9/16/2021 更新时间:9/16/2021 访问量:169
yii2 php 点击提交按钮时设置模型属性
yii2 php set model attribute when clicking submit button
问:
我有一个带有表单的视图,我让用户在其中填写模型的属性。 提交时,我希望用户能够发布模型或将其保存为草稿。区别基本上只是需要在数据库中设置的布尔“草稿”。
<?= Html::submitButton(Yii::t('OfferModule.form', 'Save as draft'), ['class' => 'btn btn-outline btn-submit', 'id' => 'draft-btn']) ?>
<?= Html::submitButton(Yii::t('OfferModule.form', 'Submit'), ['disabled' => 'disabled', 'class' => 'btn btn-primary btn-submit', 'id' => 'submit-btn']) ?>
由于我通常使用 JavaScript 进行开发,到目前为止只掌握了 php 基础知识,因此最好的方法是什么?我能想到的解决方案是:
a) 向控制器发送一个额外的参数,并在控制器中根据它设置模型值 (-> 我如何向模型发送另一个参数?
b) 在提交前单击按钮以另存为草稿时设置属性“草稿”(->是否可以设置属性并使用相同的按钮提交?
c) 在“另存为草稿”按钮后面隐藏一个复选框,单击它时,通过添加一些 JavaScript 来触发提交(->我如何隐藏按钮后面的复选框表单字段?
如果有人能在这里帮助我,我将不胜感激:)提前致谢!
答:
0赞
Md. Kamrul Hassan
9/16/2021
#1
您可以使用以下方式提交表单:
<button type="submit" id="draft-btn" value="draft" name="actionBtn">Save as draft</button>
<button type="submit" id="submit-btn" value="submit" name="actionBtn">Submit</button>
您可以决定是另存为草稿还是按 actionBtn 值发布。如果“actionBtn”的值为 draft,则将其另存为 draft,当值为 submit 时,则发布它。
评论
1赞
Younica
9/16/2021
谢谢!:)如果其他人为此而苦苦挣扎:可以在 Yii2 中像这样从 post 请求中读取值:当使用 Yii HTML 助手创建提交按钮时,添加 “value” 和 “name” 属性也可以将它们添加到 options 数组中。Yii::$app->request->post('storeOption');
评论