严格的来说,JS是不接受客户端提交的数据的,用JS获取提交参数的方法,也是用正则对url进行分析,然后进行参数的获取,大的方法,可以分为以下几种。
方法一:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script. type="text/javascript"> <!-- String.prototype.getQuery = function(name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); var r = this.substr(this.indexOf("\?")+1).match(reg); if (r!=null) return unescape(r[2]); return null; } var strHref = "www.chhua.com/index.htm?a=aaa&b=bbb&c=ccc"; alert(strHref.getQuery("a")); alert(strHref.getQuery("b")); alert(strHref.getQuery("c")); //--> </script> |
方法二:
1 2 3 4 5 6 7 8 9 10 11 12 | <script. type="text/javascript"> function getUrlPara(paraName){ var sUrl = location.href; var sReg = "(?:\\?|&){1}"+paraName+"=([^&]*)" var re=new RegExp(sReg,"gi"); re.exec(sUrl); return RegExp.$1; } //应用实例:test_para.html?a=11&b=22&c=33 alert(getUrlPara("a")); alert(getUrlPara("b")); </script> |
方法三:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <script. type="text/javascript"> <!-- function Request(strName){ var strHref = "www.chhua.com/index.htm?a=aaa&b=bbb&c=ccc"; var intPos = strHref.indexOf("?"); var strRight = strHref.substr(intPos + 1); var arrTmp = strRight.split("&"); for(var i = 0; i < arrTmp.length; i++) { var arrTemp = arrTmp[i].split("="); if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1]; } return ""; } alert(Request("a")); alert(Request("b")); alert(Request("c")); //--> </script> |
呵呵,问题解决了吧。
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: JS获取提交参数的几种方法 http://www.chhua.com/web-note1892
评论
发表评论 反向链接