严格的来说,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

随机笔记

更多