Yii2 如何实现表单事件之 Ajax 提交
2016-02-04 15:22
579 查看
前言
Yii2 现在使用 JS 都必须要注册代码了。要实现 Ajax 提交,有两种方法。一是直接在 ActiveForm 调用 beforeSubmit 参数,但是个人认为这样没有很好的把 JS 和 HTML 分开,所以我们这篇文章主要介绍第二种方法 - 外部写 JS 方法。
表单部分
<?php $form = ActiveForm::begin([ 'id' => $model->formName(), 'action' => ['/apitools/default/index'] ]); ?>
Ajax
<?php $js = <<<JS // get the form id and set the event $('form#{$model->formName()}').on('beforeSubmit', function(e) { var \$form = $(this); // do whatever here, see the parameter \$form? is a jQuery Element to your form }).on('submit', function(e){ e.preventDefault(); }); JS; $this->registerJs($js);
如果你使用了 JsBlock,你还可以这样写:
<?php JsBlock::begin() ?> <script> $(function () { jQuery('form#apitool').on('beforeSubmit', function (e) { var $form = $(this); $.ajax({ url: $form.attr('action'), type: 'post', data: $form.serialize(), success: function (data) { // do something } }); }).on('submit', function (e) { e.preventDefault(); }); </script> <?php JsBlock::end() ?>
参考:http://www.ramirezcobos.com/2014/09/12/how-to-implement-form-events-on-yii2/
来源地址:http://www.getyii.com/topic/13
相关文章推荐
- Yii2 如何更好的在页面注入CSS
- 推荐7款用于PHP的代码调试工具
- Yii2 提供可以用属性的方式去获取类的一个方法
- Yii2 关于电子商务的开源项目
- yii 资料
- PHPexcel导出_带合并单元格/边框背景/_有效果图_thinkphp
- php __isset() __get()//
- tp框架支付宝手机网页支付
- PHP实现对站点内容外部链接的过滤方法
- 适合新手动手实践的PHP搭配mysql的小项目--02实现注册页面
- PHP常用技术文之文件操作和目录操作总结
- 适合新手动手实践的PHP搭配mysql的小项目--01建立数据库
- Yii2 高级查询
- 教你在 Yii2 中添加全局函数
- PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
- Yii2发送短信验证码完全解决方案
- PHP如何快速读取大文件
- 工作中你肯定会有关于 Yii2 的小贴士用法,在下面评论分享出来吧。
- thinkphp CURD
- Yii2数据库操作的各种写法