var isdebugging = false;//是否调试JS
var dataType = isdebugging?'text':'json';//数据类型
function setLang(t){
var lang = $(t).val();
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});
$.ajax({type: "POST",dataType:dataType,url: win.siteaurl+'/main/setlang',data: 'lang='+lang,
success: function(data){
if(data.status==200){
parent.main.location.reload();
myDialog.close();
}else{
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'setLang');
}
});
}
function setUrl(t,urlid){
var val = $(t).val();
if(val){
$("#"+urlid).val(val);
}
}
/*
*1、当我们在模板文件中点击 "编辑" 按钮时,会调用admin.public.js中的"submitTo()"函数
*模板中:<a class="edit" title="编辑" href="javascript:submitTo('http://www.cicms.com/index.php?/admin/usergroup/edit/6','edit')"></a>
*url:要请求的url,如:"http://www.cicms.com/index.php?/admin/usergroup/edit/6"
*func:操作处理函数,如:"edit"-编辑操作 "add"-代表添加操作 "del"-代表删除操作 "sdel"-代表单条删除操作
*/
function submitTo(url,func,extra){
switch(func){//submitTo交给哪个处理函数来处理
case 'add'://添加操作处理函数
add(url);//添加操作将有此函数来完成
break;
case 'edit'://编辑操作处理函数
edit(url);//编辑操作将有此函数来完成
break;
case 'del'://删除操作处理函数
del(url,true);//删除操作将有此函数来完成 参数2:true-批量删除
break;
case 'sdel'://删除操作处理函数
del(url,false,extra);//参数1-url 参数2-单条数据删除 参数3-要删除的id
break;
case 'order'://排序操作处理函数
order(url);
break;
case 'grant'://授权操作处理函数
grant(url);
break;
case 'save'://保存操作处理函数
save(url);
break;
case 'backup'://备份操作处理函数
backup(url);
break;
case 'optimize'://优化操作处理函数
optimize(url);
break;
case 'upgrade'://更新操作处理函数
upgrade(url);
break;
case 'restore'://恢复操作处理函数
restore(url);
break;
case 'generate'://生成操作处理函数
generate(url);
break;
default:
break;
}
}
//下拉菜单 <select onclick="setClass(this)"></select>
function setClass(t){
//alert($(t).val());//获取当前被选择的下拉菜单项的值
if($(t).val()==0){//顶级栏目的情况
$("#tclass").show();
}else{
$("#tclass").hide();
}
}
function setTid(t){
var obj = $(t).children("td").children("input");
if(obj.attr('checked')=='checked'){
obj.prop('checked',false);
$(t).children("td").removeClass('listhover');
}else{
obj.prop('checked',true);
$(t).children("td").addClass('listhover');
}
}
//全选
function checkAll(t,tname){
tname = tname?tname:'optid[]';//checkbox复选框name属性的值:<input type="checkbox" value="19" name="optid[]">
var tcheck = $(t).is(':checked');//全选复选框是否被选中,或者var tcheck = $('t').attr('checked');获取是否选中,返回的是checked或者是undefined,不是原来的true和false
//$("input[name='"+tname+"']").attr('checked',tcheck);//设置选中,只在第一次的时候可是实现全选,第二次及以后将不能实现全选功能了,所以我们选择prop函数来代替attr函数
$("input[name='"+tname+"']").prop('checked',tcheck);//设置选中
}
function checkAllMethod(t){
var tcheck = $(t).is(':checked');
//$("input[name*='_method']").attr('checked',tcheck);//设置选中,只在第一次的时候可是实现全选,第二次及以后将不能实现全选功能了,所以我们选择prop函数来代替attr函数
$("input[name*='_method']").prop('checked',tcheck);//可多次轮流切换
}
//myfunc_helper.php文件中show_pages()分页函数使用到
function gotopage(num){
$("#currentpage").val(num);//input输入框中当前页码值
$('#formpage').attr('action',$("#action").val());//给名称为"formpage"表单的action属性动态赋值
$('#formpage').submit();//提交表单
}
function nTabs(t,tid,listid,hover,listclass){
$(t).parent().children().removeClass(hover);
$(t).addClass(hover);
$("."+listclass).hide();
$("#"+listid+tid).show();
}
/*
*可参考:http://www.planeart.cn/demo/artDialog/_doc/plugin.iframe.html
*可穿越框架的标准对话框属性的设置,可参考:http://www.planeart.cn/demo/artDialog/_doc/plugin.iframe.html#through
*/
function add(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var throughBox = $.dialog.through;//创建一个普通可穿越框架的标准对话框(框架,即:iframe),顶层面需要引用了artDialog才能实现穿越框架
var myDialog = throughBox({title:lang.add,lock:true});//设置对话框的属性:title-编辑 lock-是否锁定屏幕
//POST请求:将参数以post方式传递给服务器,如:"/admin/usergroup/add"
//GET请求:将参数以get方式附加在url后面传递给服务器,如:"http://www.mycms.com/index.php?/admin/usergroup/add"
//两种向服务器传递数据的方式在这里都是可以的,唯一不同的是POST是隐式提交,而GET则是将参数附加到url后面提交
//向服务器端提交少量数据时可以考虑使用GET方式,向服务器端提交大量数据时可以考虑使用POST方式
$.ajax({type: "POST",url:url,dataType:'json',//url:请求的目的地址,必须是一个字符串;dataType:想从服务器得到哪种类型的数据
success: function (data) {//请求成功后的处理函数
if(data.status==200){//状态码为200的情况
var win = $.dialog.top;//获取artDialog可用最高层window对象[top],可以用它来操作父页面对象(包括上面的对话框)
//alert(win.document.title);//iframe框架的title标题:X6CMS后台管理中心 - Powered by X6CMS 2.2(20130305)
//win.document.title="你伤害了我,还一笑而过";//动态的改变iframe的title标题值
myDialog.content(data.remsg);//设置可穿越框架的标准对话框的content内容属性值,为替换后的html模板代码
win.$("#formview").validform();//表单验证
var editors = setEditer(win);//渲染一个kindeditor编辑器,与kindeditor编辑器相关
setSubBtn(win,myDialog,'add',editors);//创建一个添加按钮
}else{
showmsg(myDialog,data);//短暂提示信息
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'add');
}
});
}
/*
*可参考:http://www.planeart.cn/demo/artDialog/_doc/plugin.iframe.html
*可穿越框架的标准对话框属性的设置,可参考:http://www.planeart.cn/demo/artDialog/_doc/plugin.iframe.html#through
*/
function edit(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var throughBox = $.dialog.through;//创建一个普通可穿越框架的标准对话框(框架,即:iframe),顶层面需要引用了artDialog才能实现穿越框架
var myDialog = throughBox({title:lang.edit+"...",lock:true});//设置对话框的属性:title-编辑 lock-是否锁定屏幕
//POST请求:将参数以post方式传递给服务器,如:"/admin/usergroup/edit/6"
//GET请求:将参数以get方式附加在url后面传递给服务器,如:"http://www.mycms.com/index.php?/admin/usergroup/edit/6"
//两种向服务器传递数据的方式在这里都是可以的,唯一不同的是POST是隐式提交,而GET则是将参数附加到url后面提交
//向服务器端提交少量数据时可以考虑使用GET方式,向服务器端提交大量数据时可以考虑使用POST方式
$.ajax({type: "POST",url:url,dataType: 'json',//url:请求的目的地址,必须是一个字符串;dataType:想从服务器得到哪种类型的数据
success: function (data) {//请求成功后的处理函数
//alert(url);//http://www.mycms.com/index.php?/admin/usergroup/edit/6
//alert(data.status);//当在后台点击"编辑"图标时,会执行此行代码
if(data.status==200){//状态码为200的情况
var win = $.dialog.top;//获取artDialog可用最高层window对象[top],可以用它来操作父页面对象(包括上面的对话框)
//alert(win.document.title);//iframe框架的title标题:X6CMS后台管理中心 - Powered by X6CMS 2.2(20130305)
//win.document.title="你伤害了我,还一笑而过";//动态的改变iframe的title标题值
myDialog.content(data.remsg);//设置可穿越框架的标准对话框的content内容属性值,为替换后的html模板代码
win.$("#formview").validform();//表单验证
var editors = setEditer(win);//渲染一个kindeditor编辑器,与kindeditor编辑器相关
setSubBtn(win,myDialog,'edit',editors);//创建一个 "编辑" 按钮
}else{//状态码为非200的情况
showmsg(myDialog,data);//短暂提示信息
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求错误时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'edit');
}
});
}
//批量删除
function del(url,ismultiple,tid){//参数2:true-批量删除
var data;
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
$.dialog.confirm(lang.delnotice, function(){//确定要删除数据吗?
if(ismultiple){//批量删除
//serialize() 方法通过序列化表单值,创建URL编码文本字符串
data = $("#formlist").find("input:checked").serialize();//删除多条记录的情况,格式:"a=1&b=2&c=3&d=4&e=5"
}else{
data = "optid="+tid;//删除单条记录的情况
}
if(data==""){
$.dialog.tips(lang.pselect);//请选择记录
return;
}
this.close();//点击 "确定" 按钮后关闭窗口 this-代表confirm框
var win = $.dialog.top;//获取artDialog可用最高层window对象[top],可以用它来操作父页面对象(包括上面的对话框)
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//对话框
//data:serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
$.ajax({type: "POST",dataType:"json",url: url,data: data,//data:serialize() 方法通过序列化表单值,创建URL编码文本字符串
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//关闭对框框
//children():返回的是直接的子元素
$("#content_list").children().each(function(){
if($.isArray(data.ids)){//要批量删除的数据ids,一般情况下是一个数组
//<tr id="tid_1"></tr>
//substr():返回一个从指定位置开始的指定长度的子字符串
//所以 this.id.substr(4)的值是1 this-代表每一个子元素
//jquery的inArray函数相等于php中的in_array()函数,都是用来判断当前元素是否在数组中存在
if($.inArray(this.id.substr(4),data.ids)>=0){
$(this).remove();//移除该当前<tr>标签 this代表当前<tr>标签
}
}else{//单条删除的情况
if(this.id.substr(4)==data.ids){
$(this).remove();//移除该当前<tr>标签
}
}
});
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'del');
}
});
}, function(){
$.dialog.tips(lang.unnotice);
});
}
//排序
function order(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//获取artDialog可用最高层window对象[top],可以用它来操作父页面对象(包括上面的对话框)
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});
var data = $("#formlist").serialize();//serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//关闭对话框
$("#content_list").html(data.remsg);//赋值
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败后的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'order');
}
});
}
function grant(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var throughBox = $.dialog.through;//创建一个普通可穿越框架的标准对话框(框架,即:iframe),顶层面需要引用了artDialog才能实现穿越框架
var myDialog = throughBox({title:lang.grant,lock:true});
$.ajax({type: "POST",url:url,dataType: dataType,
success: function (data) {//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
var win = $.dialog.top;//获取artDialog可用最高层window对象[top],可以用它来操作父页面对象(包括上面的对话框)
myDialog.content(data.remsg);//赋值
setSubBtn(win,myDialog,'grant',false);//创建一个 "授权" 按钮
}else{
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败后的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'grant');
}
});
}
//debug模式
function debugging(tobj,url,XMLHttpRequest,textStatus,errorThrown,jsfunc){
var msg = '<table class="content_view"><tr><td width="110">Js Function:</td><td>function '+jsfunc+'(){}</td></tr>';
msg += '<tr><td width="110">URL:</td><td>'+url+'</td></tr>';
msg += '<tr><td>HTTP Status:</td><td>'+XMLHttpRequest.status+'</td></tr>';
msg += '<tr><td>readyStatus:</td><td>'+XMLHttpRequest.readyState+'</td></tr>';
msg += '<tr><td>textStatus:</td><td>'+textStatus+'</td></tr>';
msg += '<tr><td>errorThrown:</td><td>'+errorThrown+'</td></tr>';
msg += '<tr><td>help:</td><td>http://bbs.x6cms.com</td></tr>';
tobj.title('error');
tobj.content(msg);
}
/*
*参考网址:http://kindeditor.net/
*/
function setEditer(win){
if(win.$(".editor").length>0){//判断有几个kindeditor编辑器,alert(win.$(".editor").length)的值为1,即:有一个kindeditor编辑器
var editors = new Array();//创建一个数组
win.$(".editor").each(function(){
//对应模板中:<td colspan="5"><textarea style="width:668px;height:300px;" name="content" id="content" class="editor"><?=isset($view['content'])?htmlspecialchars($view['content']):'';?></textarea></td>
var idname = this.id;//编辑器id属性值,如:alert(idname)的结果为 "content"
//create方法创建一个可视化编辑器,参数1-节点id(id属性值)
var editor=win.KindEditor.create('#'+idname,{
//指定浏览远程图片的服务器端程序
//指定浏览远程图片的服务器端程序
fileManagerJson:siteaurl+"/main/attrlist",//设置默认的后台程序处理文件:"http://www.cicms.com/index.php?/admin/main/attrlist",即:main控制器中的attrlist方法来处理
//配置图片分类目录下的不同目录参数,如果继续进行分类,可以传递?fd=xxoo/abc而这种参数,注意不要以/结束,程序未判断,以/结束程序会
//指定上传文件的服务器端程序
uploadJson:siteaurl+"/main/attrupload" ,//设置上传附件的后台程序处理文件:"http://www.cicms.com/index.php?/admin/main/attrupload",即:main控制器中的attrlist方法来处理
//true时显示浏览远程服务器按钮
allowFileManager:true//是否允许浏览服务器已上传文件
});
editors.push(editor);//向数组的尾部添加一个元素
});
return editors;//kindeditor编辑器不为空的情况
}else{
return false;//kindeditor编辑器为空的情况
}
}
//设置提交按钮:win-windows顶级对象,tobj-可穿越框架的标准对话框窗口,func-edit或add等,editors-kindeditor编辑器数组
function setSubBtn(win,tobj,func,editors){//设置提交按钮
//设置可穿越框架标准对话框的button按钮的属性值
tobj.button({name:lang.submit+"...",//button按钮的名称
callback:function(){//点击 "提交" 按钮后执行的回调函数
if(win.$("#formview").validform('validall')){//全局验证
if(editors){//编辑器存在的情况
var len = editors.length;//编辑器的个数
for(var i=0;i<len;i++){
editors[i].sync();//提交表单前,调用一下kindeditor编辑的sync()方法
}
}
//win-windows顶级对象,tobj-可穿越框架的标准对话框窗口,func-edit或add等
subOK(win,tobj,func);
}else{
}
return false;
},
focus: true
});
}
//win-windows顶级对象,tobj-可穿越框架的标准对话框窗口,type-edit或add等
function subOK(win,tobj,type){
var data = win.$("#formview").serialize();//serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
//<input type="hidden" value="http://www.cicms.com/index.php?/admin/usergroup" id="action" name="action">
var url = win.$("#formview").find("#action").val()+'/'+type;//type:方法名,如:add、del、grant、edit
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的对话框窗口
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
if(type=='add'){//如果为 add 操作
$("#content_list").prepend(data.remsg);//在id属性值为conent_list的元素开头插入内容
//以动画的方式
$('html,body').animate({scrollTop: 0}, 300);
}else if(type=='edit'){//如果为 edit 操作
var thisline = $("#content_list").find("#tid_"+data.id);//查找当前被编辑的行
thisline.before(data.remsg);//在当前被编辑行前插入新的内容
thisline.remove();//将当前被编辑行移除
}
myDialog.close();//简单对话框窗口关闭
tobj.close();//可穿越框架的标准对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'subOK');
}
});
}
//备份数据库
function backup(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//window顶级窗口对象
//提示:serialize()方法只序列化有name属性的表单元素,没有name属性的表单元素是不被序列化的
var data = $("#formlist").serialize();//serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的对话框窗口
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize() 方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//简单对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'backup');
}
});
}
//优化
function optimize(url){
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//windows顶级窗口对象
//提示:serialize()方法只序列化有name属性的表单元素,没有name属性的表单元素是不被序列化的
var data = $("#formlist").serialize();//serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的对话框窗口
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//简单对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'optimize');
}
});
}
//执行sql升级
function upgrade(url){
if($("#formview").validform('validall')){//验证表单数据
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//windows顶级窗口对象
//提示:serialize()方法只序列化有name属性的表单元素,没有name属性的表单元素是不被序列化的
var data = $("#formview").serialize();//serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的窗口对话框
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//简单对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'upgrade');
}
});
}
}
//恢复
function restore(url){
if($("#formview").validform('validall')){//验证所有表单数据
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//windows顶级窗口对象
//提示:serialize()方法只序列化有name属性的表单元素,没有name属性的表单元素是不被序列化的
var data = $("#formview").serialize();//serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的窗口对话框
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//简单对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'restore');
}
});
}
}
//生成 网站地图
function generate(url){
if($("#formview").validform('validall')){//验证所有表单数据
//artDialog提供了一个jQuery版本,功能与标准版一致,调用只需要把art前缀改成jQuery的命名空间
var win = $.dialog.top;//windows顶级窗口对象
//提示:serialize()方法只序列化有name属性的表单元素,没有name属性的表单元素是不被序列化的
var data = $("#formview").serialize();//serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5",提示:必须是要有name属性的表单字段会被序列化
var myDialog = win.$.dialog({fixed:true,lock:true,drag:false});//创建一个简单的窗口对话框
$.ajax({type: "POST",dataType:dataType,url: url,data: data,//data:serialize()方法通过序列化表单值,创建URL编码文本字符串,格式:"a=1&b=2&c=3&d=4&e=5"
success: function(data){//请求成功后的处理函数 参数data:返回的数据
if(data.status==200){//状态码为200的情况
myDialog.close();//简单对话框窗口关闭
$.dialog.tips(lang.opersuccess);//操作成功的短暂提示
}else{//状态码为非200的情况
showmsg(myDialog,data);
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){//请求失败时的处理函数
debugging(myDialog,url,XMLHttpRequest,textStatus,errorThrown,'generate');
}
});
}
}
//保存
function save(url){
if($("#formview").validform('validall')){//验证所有表单数据
【js与jquery】研究了下这个不错的jquery代码大屏查看
发布于:2015年07月23日
已被阅读次
- 最新发布
- linux下svn提交忽略某些文件... (215)
- 使用批处理来批量更新、提交SVN... (185)
- linux查看目录文件大小命令 (198)
- linux tar打包压缩排除某个... (173)
- Linux tar压缩和解压 (236)
- SVN子命令add用法浅析 (171)
- 热门博文
- 网友FBI探案:马蓉iPad惊人发现... (43391)
- 霍金携手俄罗斯富豪耗资1亿美元寻找外... (4794)
- 如何才能查看PHP内置函数源代码... (1249)
- 微信支付开发当前URL未注册的解决方... (623)
- 《谁为爱情买单》中的经典面试 ... (488)
- 让虚拟主机也用上SVN:适用于个人的... (432)
- 精华博文
- [推荐]Centos7 安装配置 SVN (202)
- easyswoole框架安装 (213)
- php开启pecl的支持(推荐) (203)
- 1-10个恋爱表现:男朋友爱你程度到... (205)
- 女生喜欢你的10个程度,到第六个就可... (180)
- Eclipse 没有Server选项... (257)
- 友情链接
- 我来忙 (110)