如何使用javascript将值从父窗口传递到另一个html页面?

如何使用javascript将值从父窗口传递到另一个html页面?,javascript,window.open,Javascript,Window.open,我有两个窗口home.html和result.html 在home.html中,我有一个#TXT输入和一个#btn 在result.html中,我有另一个#txtresult 在home.html上,如果我在#txtinput中输入一个值并单击#btn,我想打开result.html并将#txtinput的值传递到#txtresult中 我尝试了另一篇文章中的以下代码,它在新窗口的主体中显示值,但不会在我的元素中显示 var myWindow = window.open(); myWindow.

我有两个窗口
home.html
result.html

home.html
中,我有一个
#TXT输入和一个
#btn


result.html
中,我有另一个
#txtresult

home.html
上,如果我在#txtinput中输入一个值并单击#btn,我想打开
result.html
并将#txtinput的值传递到#txtresult中

我尝试了另一篇文章中的以下代码,它在新窗口的主体中显示值,但不会在我的元素中显示

var myWindow = window.open();
myWindow.document.body.innerHTML = document.getElementById("txtinput").value;

以一种简单的方式是否可能?我对JavaScript比较陌生,我的课程正在进行中,我只是想知道如何使用JavaScript。任何详细的帮助都将不胜感激

我希望这段代码对您有所帮助

这应该在主页中:

function sample(id) {
    sessionStorage.setItem("sent", id);
    window.open("result.html","_blank");
}
function sample(){
    //this will set the text box id to var id;
    var id = document.getElementById("text_box_id").id;

    //the sessionStorage.setItem(); is the predefined function in javascript
    //which will support for every browser that will store the sessions.
    sessionStorage.setItem("sent", id); 

    //this is to open a window in new tab
    window.open("result.html","_blank");
}
这是同一主页功能的另一种方式:

function sample() {
    var id=document.getElementById("your_required_id").id;
    sessionStorage.setItem("sent", id);
    window.open("result.html","_blank");
}
这应该在结果页面中:

function sample1() {
    var a=sessionStorage.getItem("sent");
    alert(a);
}
$(document).ready(function(){
    //This sessionStorage.getItem(); is also a predefined function in javascript
    //will retrieve session and get the value;
    var a = sessionStorage.getItem("sent");
    alert(a);
});     

id可能是您在
result.html
中的文本框id,使用查找打开它的窗口,然后从该窗口获取您感兴趣的数据

home.html
中,收听点击#btn并打开
result.html

// assuming button exists at invocation time
var btn = document.getElementById('btn');
btn.addEventListener('click', function () {
    window.open('result.html');
}, false);

我希望我需要详细说明下面的代码

主页中单击功能上的按钮:

function sample(id) {
    sessionStorage.setItem("sent", id);
    window.open("result.html","_blank");
}
function sample(){
    //this will set the text box id to var id;
    var id = document.getElementById("text_box_id").id;

    //the sessionStorage.setItem(); is the predefined function in javascript
    //which will support for every browser that will store the sessions.
    sessionStorage.setItem("sent", id); 

    //this is to open a window in new tab
    window.open("result.html","_blank");
}
在结果页中检索值:

function sample1() {
    var a=sessionStorage.getItem("sent");
    alert(a);
}
$(document).ready(function(){
    //This sessionStorage.getItem(); is also a predefined function in javascript
    //will retrieve session and get the value;
    var a = sessionStorage.getItem("sent");
    alert(a);
});     
有关会话存储的详细信息


我做了与上面相同的事情,在新窗口中获取值,这很好,但我只在documet.ready()函数中获取这些值。因此,我无法在JSP中使用这些值。一旦我得到值,我需要在JSP中显示它们。

我认为您需要一个简单的赋值,使用子窗口中的window.opener句柄:

if (window.opener) document.getElementById("#txtresult").value = window.opener.document.getElementById("#txtinput").value;

正如我已经说过的,我绝对是个初学者。如果你能解释一下重要的行(比如sessionstorage,以及它们是如何传递值的),这将是一个很大的帮助,这样我就可以避开谷歌,从这里自己学习,或者至少可以更好地理解。我认为这一行更简单。我想我明白了这个概念。这是一个干净而好的解释。。我得到并实现了它。干得好,维韦克。