首页  >  文章  >  后端开发  >  Yii2.0 模态弹出框+ajax提交表单

Yii2.0 模态弹出框+ajax提交表单

高洛峰
高洛峰原创
2017-01-09 11:08:111589浏览

如题 我们使用模态弹出框+ajax提交表单 首先我们把index视图的create按钮添加data-toggle 和 data-target。

代码如下:

<?php
echo Html::a(&#39;添加请假单&#39;, [&#39;create&#39;], [&#39;class&#39; => &#39;btn btn-success&#39;,&#39;data-toggle&#39;=>&#39;modal&#39;,&#39;data-target&#39;=>&#39;#ajax&#39;])
?>

   

在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>

   

修改后的效果如下

Yii2.0 模态弹出框+ajax提交表单

然后我们修改控制器中的create方法,把render改为renderAjax即可

return $this->renderAjax(&#39;create&#39;, [
 &#39;model&#39; => $model,
]);

   

如果想添加表单验证我们需要修改views 里的 _form 添加上id

<?php $form = ActiveForm::begin([&#39;options&#39; => [&#39;enctype&#39; => &#39;multipart/form-data&#39;],&#39;id&#39;=>&#39;leave-form-self&#39;]) ?>
指向 你的models 在rules添加上验证规则
 
 public function rules()
 {
  return [
   [[&#39;t_leave_date&#39;, &#39;t_days&#39;, &#39;t_reason&#39;, &#39;t_nickname&#39;,&#39;t_leave_enddate&#39;], &#39;required&#39;],
   [[&#39;t_leave_date&#39;, &#39;t_leave_enddate&#39;], &#39;safe&#39;],
   [[&#39;t_days&#39;], &#39;number&#39;],
   [[&#39;t_reason&#39;], &#39;string&#39;],
   [[&#39;type&#39;, &#39;add_time&#39;, &#39;uid&#39;, &#39;update_time&#39;, &#39;status&#39;, &#39;is_shen&#39;], &#39;integer&#39;],
   [[&#39;t_pickup&#39;, &#39;t_nickname&#39;, &#39;t_pass&#39;], &#39;string&#39;, &#39;max&#39; => 20],
   [[&#39;t_img&#39;, &#39;reviewer_user&#39;, &#39;audit_user&#39;], &#39;string&#39;, &#39;max&#39; => 255]
  ];
 }

   

效果如下

Yii2.0 模态弹出框+ajax提交表单

这样就实现了ajax提交表单

更多Yii2.0 模态弹出框+ajax提交表单相关文章请关注PHP中文网!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn