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中对文件的操作
