我有2个窗口home.html
和result.html
。
在home.html
我有一个<textarea>
#txtinput 和一个<button>
#btn 。
在result.html
我有另一个<textarea>
#txtresult 。
在home.html
,如果我在 #txtinput 中输入一个值并点击 #btn ,我想打开result.html
并传递< #txtinput 的em> value 到 #txtresult 。
我在另一篇文章中尝试了以下代码,该帖子在新窗口的正文中显示了值,但不会在我的元素中显示
var myWindow = window.open();
myWindow.document.body.innerHTML = document.getElementById("txtinput").value;
以某种方式以某种方式可行吗?我对JavaScript比较陌生,我的课程现在正在进行中,我很想知道如何做到这一点。任何详细的帮助将非常感谢!
答案 0 :(得分:16)
我希望我需要详细说明下面的代码
主页上的点击功能按钮:
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");
}
检索结果页面中的值:
$(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);
});
有关sessionStorage
的更多信息我已经完成了与上面相同的事情,我在新窗口中获取的值非常好,但是我只在documet.ready()函数中获得了这些值。所以我无法在JSP中使用这些值。一旦我得到了值,我需要在JSP中显示它们。
答案 1 :(得分:2)
我希望此代码可以帮助您
这应该在主页:
function sample(id) {
sessionStorage.setItem("sent", id);
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);
}
ID可能是您的文本框ID
答案 2 :(得分:1)
在result.html
中,找到使用window.opener
打开它的 Window ,然后从 Window 中获取您感兴趣的数据。
window.addEventListener('load', function () { // wait for ready
var home = window.opener, txtinput, txtresult;
if (home) {
txtinput = home.document.getElementById("txtinput");
txtresult = document.getElementById('txtresult');
txtresult.value = txtinput.value;
}
}, false);
在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);
答案 3 :(得分:0)
我认为你需要在子窗口中使用window.opener句柄进行简单的赋值:
if (window.opener) document.getElementById("#txtresult").value = window.opener.document.getElementById("#txtinput").value;