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提交忽略某些文件... (173)
- 使用批处理来批量更新、提交SVN... (135)
- linux查看目录文件大小命令 (144)
- linux tar打包压缩排除某个... (133)
- Linux tar压缩和解压 (191)
- SVN子命令add用法浅析 (129)
- 热门博文
- 网友FBI探案:马蓉iPad惊人发现... (43342)
- 霍金携手俄罗斯富豪耗资1亿美元寻找外... (4746)
- 如何才能查看PHP内置函数源代码... (1208)
- 微信支付开发当前URL未注册的解决方... (573)
- 《谁为爱情买单》中的经典面试 ... (440)
- 让虚拟主机也用上SVN:适用于个人的... (394)
- 精华博文
- [推荐]Centos7 安装配置 SVN (156)
- easyswoole框架安装 (173)
- php开启pecl的支持(推荐) (156)
- 1-10个恋爱表现:男朋友爱你程度到... (163)
- 女生喜欢你的10个程度,到第六个就可... (140)
- Eclipse 没有Server选项... (211)
- 友情链接
- 我来忙 (110)