这是我第一次尝试JavaScript,所以如果事情有点纠结,我很抱歉。在新窗口中访问JavaScript变量
我有两个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()。我已经开始使用Load,并且我知道它正确地访问了这个函数(我只是在里面挂了一个警报,然后它就出现了)。我不知道如何访问我在passName()中传递给Cert的FirstN和LastN变量。我试过document.FirstN,但我得到“未定义”。我如何访问我(我想)通过的FirstN和LastN变量?
谢谢! -Kristin
UPDATE:
明白了!
我不需要通过window.opener访问它 - 我已经将变量传递给窗口,所以我可以直接访问它们。
function placeName() {
//alert(FirstN);
document.getElementById("pUserName").innerHTML = FirstN + " " + LastN;
}
谢谢你们! -Kristin
感谢您的回复!我可以将其放置在单独的JavaScript文件中,还是需要将其放入Certificate2.html中? – kdormuth 2013-04-25 12:54:09
这将被放入Certificat2.html java代码。 – StuckAtWork 2013-04-25 12:58:35
这假定源窗口保持打开并可用。 – StuckAtWork 2013-04-25 13:01:22