Yii2表单事件之Ajax提交实现方法

Eva ·
更新时间:2024-09-21
· 884 次阅读

本文实例讲述了Yii2表单事件之Ajax提交实现方法。分享给大家供大家参考,具体如下:

前言

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() ?>

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

您可能感兴趣的文章:深入解析PHP的Yii框架中的event事件机制Yii Framework框架中事件和行为的区别及应用实例分析Yii框架组件的事件机制原理与用法分析Yii框架组件和事件行为管理详解Yii框架多语言站点配置方法分析【中文/英文切换站点】YII Framework框架使用YIIC快速创建YII应用之migrate用法实例详解Yii Framework框架获取分类下面的所有子类方法YiiFramework入门知识点总结(图文教程)YII Framework框架教程之缓存用法详解YII Framework框架教程之安全方案详解再谈Yii Framework框架中的事件event原理与应用



ajax提交 事件 表单 方法 yii AJAX

需要 登录 后方可回复, 如果你还没有账号请 注册新账号