Yii2表單事件之Ajax提交實(shí)現(xiàn)方法
本文實(shí)例講述了Yii2表單事件之Ajax提交實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
前言
Yii2 現(xiàn)在使用 JS 都必須要注冊(cè)代碼了。
要實(shí)現(xiàn) Ajax 提交,有兩種方法。一是直接在 ActiveForm 調(diào)用 beforeSubmit 參數(shù),但是個(gè)人認(rèn)為這樣沒(méi)有很好的把 JS 和 HTML 分開(kāi),所以我們這篇文章主要介紹第二種方法 - 外部寫 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() ?>
更多關(guān)于Yii相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結(jié)》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《smarty模板入門基礎(chǔ)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于Yii框架的PHP程序設(shè)計(jì)有所幫助。
- 深入解析PHP的Yii框架中的event事件機(jī)制
- Yii Framework框架中事件和行為的區(qū)別及應(yīng)用實(shí)例分析
- Yii框架組件的事件機(jī)制原理與用法分析
- Yii框架組件和事件行為管理詳解
- Yii框架多語(yǔ)言站點(diǎn)配置方法分析【中文/英文切換站點(diǎn)】
- YII Framework框架使用YIIC快速創(chuàng)建YII應(yīng)用之migrate用法實(shí)例詳解
- Yii Framework框架獲取分類下面的所有子類方法
- YiiFramework入門知識(shí)點(diǎn)總結(jié)(圖文教程)
- YII Framework框架教程之緩存用法詳解
- YII Framework框架教程之安全方案詳解
- 再談Yii Framework框架中的事件event原理與應(yīng)用
相關(guān)文章
laravel自定義分頁(yè)的實(shí)現(xiàn)案例offset()和limit()
今天小編就為大家分享一篇laravel自定義分頁(yè)的實(shí)現(xiàn)案例offset()和limit(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法分析
這篇文章主要介紹了Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法,結(jié)合實(shí)例形式分析了在Laravel框架配置Memcached緩存及相關(guān)使用方法,需要的朋友可以參考下2016-10-10PHP 獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的代碼(fopen,curl已測(cè))
獲取遠(yuǎn)程網(wǎng)頁(yè)內(nèi)容的php代碼,做小偷采集程序的程序經(jīng)常用得到,現(xiàn)在用curl的比較多。2011-06-06發(fā)布一個(gè)用PHP fsockopen寫的HTTP下載的類
發(fā)布一個(gè)用PHP fsockopen寫的HTTP下載的類...2007-02-02php中使用cookie來(lái)保存用戶登錄信息的實(shí)現(xiàn)代碼
php中使用cookie來(lái)保存用戶登錄信息的實(shí)現(xiàn)代碼,使用php開(kāi)發(fā)的朋友可以參考下2012-03-03