本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答