通过Location对象的search属性,可以获得从URL中传递过来的参数和参数值。然后在js 代码中可以处理这些参数和参数值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<head>
<title>提交数据</title>
</head>
<body>
<form name="myForm" action="sample06_submithtm">
地址:
<select name="address">
<option value="beijing">北京</option>
<option value="shanghai">上海</option>
<option value="shenzhen">深圳</option>
</select>
性别:
<select name="sex">
<option value="men">男</option>
<option value="women">女</option>
</select>
<input type="submit" value="提交">
</form>
</body>
</html>
下面是处理请求的sample06_submithtm
<html>
<head>
<title>使用Location对象属性获取提交数据</title>
<script language="javascript" type="text/javascript">
var searchStr = locationsearch;
由于searchStr属性值包括“”,所以除去该字符
searchStr = searchStrsubstr(1);//将searchStr字符串分割成数组,数组中的每一个元素为一个参数和参数值
var searchs = searchStrsplit("&");//获得第一个参数和值
var address = searchs[0]split("=");
switch (address[1]){
case "beijing":
documentwrite("您选择的地址为:北京");
break;
case "shanghai":
documentwrite("您选择的地址为:上海");
break;
case "shenzhen":
documentwrite("您选择的地址为:深圳");
break;
}
var sex = searchs[1]split("=");
switch (sex[1])
{
case "men":
documentwrite("您选择的性别为:男");
break;
case "women":
documentwrite("您选择的性别为:女");
break;
}
</script>
</head>
<body>
</body>
</html>
三个方法:
1、requestQueryString("参数")//获取指定参数,返回字符串;
2、requestQueryStrings();//获取全部参数,并返回数组;
3、requestsetQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:name=a&site=never_online
alert(requestsetQuery("name","blueDestiny"))
如果地址栏参数中有"name",那么返回name=blueDestiny&site=never_online
setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:site=never_online
alert(requestsetQuery("name","blueDestiny"))
则返回site=never_online&name=blueDestiny
同理,如果地址栏没有参数,也会自动追加参数
alert(requestsetQuery("name","blueDestiny"))
返回name=blueDestiny
<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-onlinenet
var request = {
QueryString : function(val) {
var uri = windowlocationsearch;
var re = new RegExp("" +val+ "\=([^\&\])", "ig");
return ((urimatch(re))(urimatch(re)[0]substr(vallength+1)):null);
},
QueryStrings : function() {
var uri = windowlocationsearch;
var re = /\w\=([^\&\])/ig;
var retval=[];
while ((arr = reexec(uri)) != null)
retvalpush(arr[0]);
return retval;
},
setQuery : function(val1, val2) {
var a = thisQueryStrings();
var retval = "";
var seted = false;
var re = new RegExp("^" +val1+ "\=([^\&\])$", "ig");
for(var i=0; i<alength; i++) {
if (retest(a[i])) {
seted = true;
a[i] = val1 +"="+ val2;
}
}
retval = ajoin("&");
return "" +retval+ (seted "" : (retval "&" : "") +val1+ "=" +val2);
}
}
alert(requestsetQuery("e","b"))
//-->
</SCRIPT>
两个页面之间传递值是可以用request来管理,没有必要使用session。有点太浪费。你可以先在一个页面往请求写你的数据,由于你是需要从url中获得值,所以可以直接在另一页面中通过 requestgetParameter("key")来获得你的值这样是最简单的方法
通过request的getParameter的方法获取
1、通过requestgetParameter("参数名")获取后台的值
2、通过<%=变量%>的方式赋给js变量
示例:
<script>
<%
String s2 = (String)requestgetParameter("参数名");//获取后台参数给s2变量,<%%>表示这范围内是服务器解析的语言
%>
var s = '<%=s2%>';//输出s2给js变量s
</script>
以上就是关于怎么获取html中的参数全部的内容,包括:怎么获取html中的参数、如何获得request中的全部参数、如何获取url中的参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)