如题 我们使用模态弹出框+ajax提交表单 首先我们把index视图的create按钮添加data-toggle 和 data-target。
代码如下:
<?php
echo Html::a("添加请假单", ["create"], ["class" => "btn btn-success","data-toggle"=>"modal","data-target"=>"#ajax"])
?>
在index视图添加如下代码 来显示模态弹出框:
<div class="modal bs-example-modal-lg" id="ajax"> <div class="modal-dialog"> <div class="modal-content width_reset" id="tmpl-modal-output-render"> </div> </div> </div>
修改后的效果如下
然后我们修改控制器中的create方法,把render改为renderAjax即可
return $this->renderAjax("create", [
"model" => $model,
]);
如果想添加表单验证我们需要修改views 里的 _form 添加上id
<?php $form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"],"id"=>"leave-form-self"]) ?>
指向 你的models 在rules添加上验证规则
public function rules()
{
return [
[["t_leave_date", "t_days", "t_reason", "t_nickname","t_leave_enddate"], "required"],
[["t_leave_date", "t_leave_enddate"], "safe"],
[["t_days"], "number"],
[["t_reason"], "string"],
[["type", "add_time", "uid", "update_time", "status", "is_shen"], "integer"],
[["t_pickup", "t_nickname", "t_pass"], "string", "max" => 20],
[["t_img", "reviewer_user", "audit_user"], "string", "max" => 255]
];
}
效果如下
这样就实现了ajax提交表单