夏日的草原,早晨空气格外清新,我缠着父亲在草原上漫步。幽幽的草香迎面拂来,红艳艳。朝阳正从地平线上冉冉升起,为辽阔的草原镀上一层金色。草叶上的露珠,像镶在翡翠上的珍珠,闪着五颜六色的光华。我看到草丛中夹着许多粉红色、白色、黄色或是蓝色的不知名的花,把草原装扮得十分美丽。
本文实例讲述了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框架的PHP程序设计有所帮助。
到此这篇关于Yii2表单事件之Ajax提交实现方法就介绍到这了。人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,而不去欣赏今天就开在我们窗口的玫瑰.更多相关Yii2表单事件之Ajax提交实现方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!