2

これは私の最初の JavaScript の試みです。

2 つの HTML ページ (Certificate1.html と Certificate2.html) があります。私がやろうとしているのは、Certificate1.html でユーザーに名前を入力するように求め、その情報を Certificate2.html に渡すことです。この時点で、ユーザーの名前が印刷可能な証明書に表示されます。

どちらの html ページも同じ JavaScript ファイル (Certificate1.js) を参照しています。最初のページは passName() を呼び出します。

function passName() {
    FirstN = document.frmUserName.inFirstN.value;
    LastN = document.frmUserName.inLastN.value;
   // alert(FirstN); // good
   // alert(LastN); // good
    var Cert = window.open("Certificate2.html");
    Cert.FirstN = FirstN;
    Cert.LastN = LastN;
    //alert(Cert.FirstN); //good
    //alert(Cert.LastN); //good
}

これは正しく機能しているようです。私が立ち往生しているのは、Certificate2.html が呼び出す関数 placeName() です。私は onLoad を起動しており、関数に正しくアクセスしていることを知っています (そこにアラートを貼り付けただけで、それが表示されました)。passName() で Cert に渡した FirstN 変数と LastN 変数にアクセスする方法がわかりません。document.FirstN を試してみましたが、「未定義」になります。私が渡した (と思う) FirstN 変数と LastN 変数にアクセスするにはどうすればよいですか?

ありがとう!-クリスティン

アップデート:

とった!!!

window.opener 経由でアクセスする必要はありませんでした。変数をウィンドウに渡していたので、変数に直接アクセスできました。

function placeName() {
    //alert(FirstN);
    document.getElementById("pUserName").innerHTML = FirstN + " " + LastN;
}

みんなありがとう!!-クリスティン

4

4 に答える 4

3

HTML LocalStorage (HTML5) http://diveintohtml5.info/storage.html

あなたの最初のファイルで:

localStorage.setItem("FirstN", document.frmUserName.inFirstN.value);

2番目のもので:

var FirstN = localStorage.getItem("FirstN");

または単にCookieを設定します...

http://www.w3schools.com/js/js_cookies.asp

しかし、これはPHPを使用するか、少なくともJSではなく行うべきだと思います

于 2013-04-25T12:56:57.627 に答える
2

window.opener新しいウィンドウでオブジェクトを使用します。

window.opener.FirstN

W3Schools の例

JavaScript 変数を別のブラウザー ウィンドウに渡すことはできますか?

以下は私のセットアップで動作します:

first.html

<html>
 <script>
   var Var1 = "MyStringVar";
   var Var2 = 123;
   var win = window.open("second.html");
 </script>
</html>

second.html

<html>
 <script>
   alert(window.opener.Var1);
   alert(window.opener.Var2);
 </script>
</html>
于 2013-04-25T12:50:18.030 に答える
0

最初のウィンドウ ファイル:

window.yourVariable = 値;

2 番目のウィンドウ ファイル:

window.opener.yourVariable

説明 : yourVariable をグローバルとして宣言し、親ウィンドウにバインドします。親ウィンドウから新しいウィンドウを開くと、「window.opener」からデータにアクセスできます。yourVariable はグローバルとして宣言されているため、'window.opener.yourVariable' を使用して子ウィンドウから親ウィンドウの値にアクセスできます。

于 2016-01-14T07:36:31.413 に答える