• 技术文章 >php教程 >PHP开发

    Yii2.0 ActiveForm组件的ajax提交方法

    黄舟黄舟2017-01-03 09:40:06原创631
    ActiveForm如何异步提交?

    1.首先在views层的ActiveForm中配置以下属性

    ),           //此处为请求地址 Url用法查看手册
        'enableAjaxValidation' => true,
            'validationUrl' => Url::to(['post/validate']),     //数据异步校验
    ]);
    
    2.配置好表单属性之后,在控制器中添加对应的方法
    
    validateUrl对应的方法
    
    //该方法是异步校验字段,输入框失去焦点之后自动会自动请求改地址
    public function actionValidate(){
        $model = new PostModel();
        if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {        
            Yii::$app->response->format = Response::FORMAT_JSON;        
            return ActiveForm::validate($model);
        }
    }
    
    action对应的方法
    
    //该方法是数据保存方法
    public function actionSave()
    {
        $model = new PostCatModel();
        if ($model->load(Yii::$app->request->post())) {
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ['status' => $model->save()];
        }        
    }

    除此之外,还要写一段提交的js

    [code=php;toolbar:false">//此处点击按钮提交数据的jquery
    $('.btn').click(function () {
    $.ajax({
    url: "/post/save.html",
    type: "POST",
    dataType: "json",
    data: $('form').serialize(),
    success: function(Data) {
    if(Data.status)
    alert('保存成功');
    else
    alert('保存失败')
    },
    error: function() {
    alert('网络错误!');
    }
    });
    return false;
    });

    注:actionSave中对应的命名空间要加上,否则会报错

    比如 Response 和 ActiveForm

    use yiiwebResponse;
    use yiiootstrapActiveForm;[/code]

    上面就是ActiveForm对应的异步提交方法

    以上就是Yii2.0 ActiveForm组件的ajax提交方法内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:Yii2.0 创建一个自定义组件方法 下一篇:yii2.0 模型rules验证详解
    大前端线上培训班

    相关文章推荐

    • PHP使用glob函数遍历目录或文件夹的方法• centos yum 安装 mongodb 以及php扩展• PHP中session使用方法详解第1/2页• Symfony2实现从数据库获取数据的方法小结• Zend Framework 入门(1)—快速上手

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网