牛骨文教育服务平台(让学习变的简单)
博文笔记

TP5 更新操作

创建时间:2016-11-15 投稿人: 浏览次数:187

Controller 控制器代码:

<?php
namespace appadmincontroller;

use thinkController;
use appadminmodelConfig as ConfigModel; //config模型起个别名
use thinkRequest;

class Config extends Controller
{
    public function index($tab="1")
    {
        //判断是否是POST提交
        if( !Request::instance()->isPost() )
        {
            $configList = ConfigModel::column("varname,value"); //获取对应列属性
            $this->assign("site",$configList);
            return view();
        }

        $config = new ConfigModel();
        if( $config->saveConfig(input("post.")) )
        {
            $data["static"] = 200;
            $data["message"] = "更新成功!";
            $data["url"] = url("index",["tab"=>$tab]);
            return json($data);
        }else{
            $data["static"] = 300;
            $data["message"] = "更新失败!";
            $data["url"] = url("index",["tab"=>$tab]);
            return json($data);
        }



    }
}

Model 模型层代码:

<?php
namespace appadminmodel;

use thinkModel;

class Config extends Model
{
    public function saveConfig($data)
    {
        if( empty($data) || !is_array($data) )
        {
            return false;
        }

        foreach ($data as $k=>$value)
        {
            if(empty($k))
            {
                continue;
            }

            Config::where("varname",$k)->update(["value"=>trim($value)]);
        }
        return true;
    }
}

view 视图层代码:

<form method="post" class="form-horizontal" action="{:url("index")}" data-type="ajax" >
                                <input type="hidden" name="tab" value="1" />
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">站点名称</label>
                                    <div class="col-sm-10">
                                        <input name="sitename" value="{$site.sitename}" type="text" class="form-control">
                                    </div>
                                </div>
                                <div class="hr-line-dashed"></div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">关键字</label>
                                    <div class="col-sm-10">
                                        <input name="sitekeywords" value="{$site.sitekeywords}" type="text" class="form-control">
                                    </div>
                                </div>
                                <div class="hr-line-dashed"></div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">描述</label>
                                    <div class="col-sm-10">
                                       <textarea name="siteinfo" type="text" class="form-control" rows="5" >{$site.siteinfo}</textarea>
                                    </div>
                                </div>
                                <div class="hr-line-dashed"></div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">验证码类型</label>

                                    <div class="col-sm-10">
                                        <select class="form-control m-b" name="checkcode_type">
                                            <option value="0" {$site.checkcode_type==0 ? "selected" : ""} >字母数字混合</option>
                                            <option value="1" {$site.checkcode_type==1 ? "selected" : ""}>纯字母</option>
                                            <option value="2" {$site.checkcode_type==2 ? "selected" : ""}>纯数字</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="hr-line-dashed"></div>
                                <div class="form-group">
                                    <div class="col-sm-4 col-sm-offset-2">
                                        <button class="btn btn-primary" type="submit">提交</button>
                                    </div>
                                </div>
                            </form>

Ajax 异步更新:

$(document).on("submit","form[data-type=ajax]",function(){
    var url = $(this).attr("action");
    var data = $(this).serializeArray(); //获取表单序列化数据
    $.ajax({
        type:"POST",
        dataType:"json",
        url:url,
        data:data,
        success:function(obj){
            if(obj.static==200){
                dialog.success(obj.message,obj.url);
            }else{
                dialog.error(obj.message);
            }
        },
        error:function(data){
            dialog.error("网络故障!");
        }
    });
    return false;
});

dislog 弹窗封装:

var dialog = {
    // 错误弹出层
    error: function(message) {
        layer.open({
            content:message,
            icon:2,
            title : "错误提示",
        });
    },


    //成功弹出层
    success : function(message,url) {
        layer.open({
            content : message,
            icon : 1,
            yes : function(){
                location.href=url;
            },
        });
    },


    // 确认弹出层
    confirm : function(message, url) {
        layer.open({
            content : message,
            icon:3,
            btn : ["是","否"],
            yes : function(){
                location.href=url;
            },
        });
    },


    //无需跳转到指定页面的确认弹出层
    toconfirm : function(message) {
        layer.open({
            content : message,
            icon:3,
            btn : ["确定"],
        });
    },
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。