ホームページ >ウェブフロントエンド >jsチュートリアル >ページ間で値を転送する JavaScript メソッド_JavaScript スキル
この記事の例では、JavaScript がページ間の値の転送を実装する方法について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
質問は次のとおりです:
a.html ページでは、ff9c23ada1bcecdd1a0fb5d5a0f18437 の 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; }
.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 プログラミング設計に役立つことを願っています。