JavaScript实现在页面间传值的方法

本文实例讲述了JavaScript实现在页面间传值的方法。分享给大家供大家参考。具体如下:

问题如下:

在 a.html 页面中,<form> 的 onsubmit 事件调用一个方法 foo( ),打开 b.html 页面的同时给 b.html 传递参数。方法 foo( ) 中需要传递变量参数到 b.html 页面,在 b.html 页面接受参数值,但不能使用服务器端技术。

解决代码如下:

a.html页面如下:

<html>

<head>

<title> demo </title>

<meta name="Author" content="xugang" />

<script type="text/javascript">

function foo(){

var a ="abc"; // a为变量值

var str = "b.html?id="+a+";";

//alert(document.frm.action);

//方案一(无效)

// document.frm.action = str;

//方案二(无效)

// window.location.href = str;

//方案三(有效)

window.location.replace(str);

return false;

}

</script>

</head>

<body>

<FORM name="frm" method="get"

onsubmit = "return foo()" >

<INPUT TYPE="SUBMIT" />

</FORM>

</body>

</html>

注意:必须 b.html 页面事先存在即可。

b.html 获得参数值的代码如下:

b.html 部分代码

var getQueryString = function(name) {

var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");

var r = window.location.search.substr(1).match(reg);

if (r != null) return r[2]; return "";

}

补充:

myjs.js 代码:

function foo(){

var str = "abc";

//document.forms[0].hid.value = str;

var frm = window.event.srcElement;

frm.hid.value = str;

return true;

}

a.html 代码:

<html>

<head>

<title> demo </title>

<meta name="Author" content="xugang" />

<script src="myjs.js"></script>

</head>

<body>

<FORM name="frm" METHOD="get" ACTION="b.html"

onsubmit="return foo()">

<INPUT TYPE="hidden" id="hid" name="hid">

<INPUT TYPE="submit" value="提交">

</FORM>

</body>

</html>

注意:给 b.html 页面传值时,b.html 页面必须事先已存在!

b.html 代码:

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

</HEAD>

<BODY>

<SCRIPT LANGUAGE="JavaScript">

document.write(decodeURIComponent(location.search.substr(3)));

</SCRIPT>

</BODY>

</HTML>

希望本文所述对大家的javascript程序设计有所帮助。

以上是 JavaScript实现在页面间传值的方法 的全部内容, 来源链接: utcz.com/z/320976.html

回到顶部