做项目时总会碰到ajax提交的功能,特别是在做后台提交时,一般都会用模型自动生成,这个功能的使用会比较频繁,其实只要了解了流程,操作还是挺简单的,使用起来也方便。

表单部分
<?php $form = ActiveForm::begin([
'action' => ['save'], //提交地址(*可省略*)
'method'=>'post', //提交方法(*可省略默认POST*)
'id' => 'form-save', //设置ID属性
'options' => [
'class' => 'form-horizontal', //设置class属性
],
'enableAjaxValidation' => true,
'validationUrl' => 'validate-view',
]); ?>
<?php echo $form->field($model,'company_name', ['inputOptions' => ['placeholder'=>'请输入商家名称','class' => 'form-control'], 'template'=>'<label for="inputCompanyName" class="col-sm-1 control-label"><span class="text-red">*</span> 商家名称</label><div class="col-md-8">{input}</div><label class="col-sm-3" for="inputError">{error}</label>'])->textInput()?>
<?=Html::submitButton('保存',['class'=>'btn btn-primary']); ?>
<?php ActiveForm::end(); ?>
其中:'enableAjaxValidation' => true, 必须设置,告诉表单用ajax提交
控制器(controller)部分
控制器分两部分,一部分是效验表单的正确性,另外一部分是保存
1、效验部分
public function actionValidateView()
{
$model = new model();
$request = \Yii::$app->getRequest();
if ($request->isPost && $model->load($request->post())) {
\Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
}
2、保存部分
public function actionSave()
{
\Yii::$app->response->format = Response::FORMAT_JSON;
$params = Yii::$app->request->post();
$model = $this->findModel($params[id]);
if (Yii::$app->request->isPost && $model->load($params)) {
return ['success' => $model->save()];
}
else{
return ['code'=>'error'];
}
}
Ajax提交from表单
$(function(){
$(document).on('beforeSubmit', 'form#form-save', function () {
var form = $(this);
//返回错误的表单信息
if (form.find('.has-error').length)
{
return false;
}
//表单提交
$.ajax({
url : form.attr('action'),
type : 'post',
data : form.serialize(),
success: function (response){
if(response.success){
alert('保存成功');
window.location.reload();
}
},
error : function (){
alert('系统错误');
return false;
}
});
return false;
});
});
特别注意本人用的是Yii2 adminlte框架后台,具体操作过程试项目而定,基本操作过程都一样。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Yii2
# ActiveForm
# ajax
# yii2 modal弹窗之ActiveForm ajax表单异步验证
# Yii2创建表单(ActiveForm)方法详解
# YII2.0之Activeform表单组件用法实例
# 表单
# 操作过程
# 的是
# 是在
# 请输入
# 总会
# 会用
# 而定
# 来也
# 两部分
# 自动生成
# 大家多多
# view
# validate
# echo
# model
# field
# validationUrl
# options
# ID
相关文章:
Android自定义listview布局实现上拉加载下拉刷新功能
广州商城建站系统开发成本与周期如何控制?
如何在橙子建站上传落地页?操作指南详解
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
建站之星展会模板:智能建站与自助搭建高效解决方案
如何快速生成凡客建站的专业级图册?
jQuery 常见小例汇总
建站主机选购指南:核心配置与性价比推荐解析
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
如何在IIS中新建站点并配置端口与IP地址?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
建站主机如何选?高性价比方案全解析
如何快速搭建响应式可视化网站?
建站主机是否属于云主机类型?
网页设计与网站制作内容,怎样注册网站?
兔展官网 在线制作,怎样制作微信请帖?
如何制作算命网站,怎么注册算命网站?
免费网站制作appp,免费制作app哪个平台好?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
制作门户网站的参考文献在哪,小说网站怎么建立?
制作网站的基本流程,设计网站的软件是什么?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
如何用5美元大硬盘VPS安全高效搭建个人网站?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
微信h5制作网站有哪些,免费微信H5页面制作工具?
常州企业网站制作公司,全国继续教育网怎么登录?
代购小票制作网站有哪些,购物小票的简要说明?
深圳网站制作培训,深圳哪些招聘网站比较好?
想学网站制作怎么学,建立一个网站要花费多少?
建站之星各版本价格是多少?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
公司网站制作价格怎么算,公司办个官网需要多少钱?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
如何用花生壳三步快速搭建专属网站?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何通过免费商城建站系统源码自定义网站主题与功能?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
建站之星安装后如何配置SEO及设计样式?
如何选择高效稳定的ISP建站解决方案?
淘宝制作网站有哪些,淘宝网官网主页?
如何在景安云服务器上绑定域名并配置虚拟主机?
长沙企业网站制作哪家好,长沙水业集团官方网站?
北京网站制作公司哪家好一点,北京租房网站有哪些?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
装修招标网站设计制作流程,装修招标流程?
如何获取开源自助建站系统免费下载链接?
*请认真填写需求信息,我们会在24小时内与您取得联系。