全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Yii2实现ActiveForm ajax提交

做项目时总会碰到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小时内与您取得联系。