如题 我们使用模态弹出框+ajax提交表单 首先我们把index视图的create按钮添加data-toggle 和 data-target。
代码如下:
1
2
3
|
<?php
echo html::a( '添加请假单' , [ 'create' ], [ 'class' => 'btn btn-success' , 'data-toggle' => 'modal' , 'data-target' => '#ajax' ])
?>
|
在index视图添加如下代码 来显示模态弹出框:
1
2
3
4
5
6
7
8
9
|
<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即可
1
2
3
4
|
return $this ->renderajax( 'create' , [
'model' => $model ,
]);
|
如果想添加表单验证我们需要修改views 里的 _form 添加上id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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提交表单