TP5 更新操作
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 : ["确定"], }); }, }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: delete void*形式的指针是非常危险的
- 下一篇: php中对文件的操作