蓝田玉水草玉髓:javascript如何取得页面传递参数

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 15:30:35
我有一个htm页面A,在这个页面里面有一个文本框,输入代码377010
跳转到另一个htm页面B,在B中IFRAME了一个JSP页面C
请教如何传递给C页面一个?code=377010这样的参数

有高分追加

方法一:正则分析法 
function getQueryString(name) { //输入参数名称
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); //根据参数格式,正则表达式解析参数
var r = window.location.search.substr(1).match(reg); 
if (r != null) return unescape(r[2]); return null; //返回参数值


调用方法: 
alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2")); 
alert(GetQueryString("参数名3")); 

方法二 
<Script language="javascript"> 
function GetRequest() { 
var url = location.search; //获取url中"?"符后的字串 
var theRequest = new Object(); 
if (url.indexOf("?") != -1) { 
var str = url.substr(1); 
strs = str.split("&"); //根据&解析所有参数key=value
for(var i = 0; i < strs.length; i ++) { //获取参数和参数值
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]); 


return theRequest; 

</Script> 

调用方法: 
<Script language="javascript"> 
var Request = new Object(); 
Request = GetRequest(); 
var 参数1,参数2,参数3,参数N; 
参数1 = Request['参数1']; 
参数2 = Request['参数2']; 
参数3 = Request['参数3']; 
参数N = Request['参数N']; 
</script>

假设:

1、你的A.HTM的FORM使用GET方法提交数据,且A.HTM的FORM中只有一个INPUT的属性设置了值,类似于;

<form method="GET" action="a.htm">
CODE:<input name=code size="8">
<input type="submit" value="发送">
</form>

2、B.HTM的IFRAME的id的值设为“abc”,类似于:
<iframe id="abc" src="about:blank" width="300" height="100">

3、JSP页面与B.HTM位于同一目录下,且名称为:c.jsp

那么B.HTM中加入下面的内容,并将body的onload属性设为
<body onload="test1()">...其他内容...</body>
,即可达到你要的效果:

<script language="javascript">
function test1()
{
var str=document.location.href;
document.getElementById("abc").src=
"C.jsp?code="+(str.substring(str.indexOf("=")+1));
}
</script>

下面给出一个B.HTM的简单样例:
====================================================
<html>
<head>
<script language="javascript">
function test1()
{
var str=document.location.href;
document.getElementById("abc").src="b.htm?code="+(str.substring(str.indexOf("=")+1));
}
</script>
</head>
<body onload="test1()">
<iframe id="abc" src="about:blank" width="300" height="100">
</iframe>
</body>
</html>

=========================================================

祝你好运!

截取字符串的方法可行.

你参考一下这种方法
<IFRAME id="abc" src="c.asp?code=1"></IFRAME>
<input type="text" name="txt">
<input type="submit" name="Submit" value="提交" onClick="document.getElementById('abc').src=c.asp?code='+document.getElementById('txt').value;>