これは私の最初の 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;
}
みんなありがとう!!-クリスティン