• 关于

    js验证radio

    的搜索结果

问题

前端小白入门JQuery基础 【新手百问合集】

马铭芳 2019-12-01 20:09:05 6738 浏览量 回答数 5

问题

前端小白入门JQuery基础【新手百问合集】

游客886 2019-12-01 20:09:03 1237 浏览量 回答数 1

回答

参照 oneThink 中对一些数据的处理 1.在页面先初始化各全局 js 变量 (function(){ var ThinkPHP = window.Think = { "ROOT" : "__ROOT__", //当前网站地址 "APP" : "__APP__", //当前项目地址 "PUBLIC" : "__PUBLIC__", //项目公共目录地址 "DEEP" : "{:C('URL_PATHINFO_DEPR')}", //PATHINFO分割符 "MODEL" : ["{:C('URL_MODEL')}", "{:C('URL_CASE_INSENSITIVE')}", "{:C('URL_HTML_SUFFIX')}"], "VAR" : ["{:C('VAR_MODULE')}", "{:C('VAR_CONTROLLER')}", "{:C('VAR_ACTION')}"] } })(); 2.封装各种处理方法 Think.js /* 扩展ThinkPHP对象 */ (function($){ /** * 获取ThinkPHP基础配置 * @type {object} */ var ThinkPHP = window.Think; /* 基础对象检测 */ ThinkPHP || $.error("ThinkPHP基础配置没有正确加载!"); /** * 解析URL * @param {string} url 被解析的URL * @return {object} 解析后的数据 */ ThinkPHP.parse_url = function(url){ var parse = url.match(/^(?:([a-z]+):\/\/)?([\w-]+(?:\.[\w-]+)+)?(?::(\d+))?([\w-\/]+)?(?:\?((?:\w+=[^#&=\/]*)?(?:&\w+=[^#&=\/]*)*))?(?:#([\w-]+))?$/i); parse || $.error("url格式不正确!"); return { "scheme" : parse[1], "host" : parse[2], "port" : parse[3], "path" : parse[4], "query" : parse[5], "fragment" : parse[6] }; } ThinkPHP.parse_str = function(str){ var value = str.split("&"), vars = {}, param; for(val in value){ param = value[val].split("="); vars[param[0]] = param[1]; } return vars; } ThinkPHP.parse_name = function(name, type){ if(type){ /* 下划线转驼峰 */ name.replace(/_([a-z])/g, function($0, $1){ return $1.toUpperCase(); }); /* 首字母大写 */ name.replace(/[a-z]/, function($0){ return $0.toUpperCase(); }); } else { /* 大写字母转小写 */ name = name.replace(/[A-Z]/g, function($0){ return "_" + $0.toLowerCase(); }); /* 去掉首字符的下划线 */ if(0 === name.indexOf("_")){ name = name.substr(1); } } return name; } //scheme://host:port/path?query#fragment ThinkPHP.U = function(url, vars, suffix){ var info = this.parse_url(url), path = [], param = {}, reg; /* 验证info */ info.path || $.error("url格式错误!"); url = info.path; /* 组装URL */ if(0 === url.indexOf("/")){ //路由模式 this.MODEL[0] == 0 && $.error("该URL模式不支持使用路由!(" + url + ")"); /* 去掉右侧分割符 */ if("/" == url.substr(-1)){ url = url.substr(0, url.length -1) } url = ("/" == this.DEEP) ? url.substr(1) : url.substr(1).replace(/\//g, this.DEEP); url = "/" + url; } else { //非路由模式 /* 解析URL */ path = url.split("/"); path = [path.pop(), path.pop(), path.pop()].reverse(); path[1] || $.error("ThinkPHP.U(" + url + ")没有指定控制器"); if(path[0]){ param[this.VAR[0]] = this.MODEL[1] ? path[0].toLowerCase() : path[0]; } param[this.VAR[1]] = this.MODEL[1] ? this.parse_name(path[1]) : path[1]; param[this.VAR[2]] = path[2].toLowerCase(); url = "?" + $.param(param); } /* 解析参数 */ if(typeof vars === "string"){ vars = this.parse_str(vars); } else if(!$.isPlainObject(vars)){ vars = {}; } /* 解析URL自带的参数 */ info.query && $.extend(vars, this.parse_str(info.query)); if(vars){ url += "&" + $.param(vars); } if(0 != this.MODEL[0]){ url = url.replace("?" + (path[0] ? this.VAR[0] : this.VAR[1]) + "=", "/") .replace("&" + this.VAR[1] + "=", this.DEEP) .replace("&" + this.VAR[2] + "=", this.DEEP) .replace(/(\w+=&)|(&?\w+=$)/g, "") .replace(/[&=]/g, this.DEEP); /* 添加伪静态后缀 */ if(false !== suffix){ suffix = suffix || this.MODEL[2].split("|")[0]; if(suffix){ url += "." + suffix; } } } url = this.APP + url; return url; } /* 设置表单的值 */ ThinkPHP.setValue = function(name, value){ var first = name.substr(0,1), input, i = 0, val; if(value === "") return; if("#" === first || "." === first){ input = $(name); } else { input = $("[name='" + name + "']"); } if(input.eq(0).is(":radio")) { //单选按钮 input.filter("[value='" + value + "']").each(function(){this.checked = true}); } else if(input.eq(0).is(":checkbox")) { //复选框 if(!$.isArray(value)){ val = new Array(); val[0] = value; } else { val = value; } for(i = 0, len = val.length; i < len; i++){ input.filter("[value='" + val[i] + "']").each(function(){this.checked = true}); } } else { //其他表单选项直接设置值 input.val(value); } } })(jQuery); 3.使用 // 生成连接 function editRule(id,status){ window.location.href = Think.U('Admin/AuthManager/editRule','id='+id+'&status='+status); } // 设置表单值,可以为ID、Class、Name Think.setValue('username','张三'); 4.具体可以下载oneThink后。打开 /Public/static/Think.js 希望可以帮到你,以上代码为oneThink封装。我只是一个搬运工,最后,在页面中ThinkPHP本身的U方法是无法动态的去传递一些JS变量

河南 2019-12-02 01:45:06 0 浏览量 回答数 0

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

问题

JS放在&lt;head&gt;&lt;/head&gt;内,调用其中的函数时为?报错

爱吃鱼的程序员 2020-06-22 17:04:08 0 浏览量 回答数 1

问题

天津开发票_MVP?

游客mewwag62exqco 2019-12-01 19:34:51 2 浏览量 回答数 0

问题

北京开发票_MVP

游客mewwag62exqco 2019-12-01 19:34:50 2 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板