Как передать значение из родительского окна на другую HTML-страницу с помощью JavaScript?

у меня 2 окна home.html и result.html.

на home.html У меня есть <textarea> #txtinput и <button> #btn.

на result.html у меня есть другой <textarea> #txtresult.

On home.html, если я введу значение в #txtinput и нажмите кнопку #btn, я хочу открыть result.html и передать стоимостью of #txtinput в #txtresult.

я пробовал приведенный ниже код из другого сообщения, который отображает значение в теле нового окна, но не будет отображать его в моем элементе

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

это как-то можно по-простому? Я относительно новичок в JavaScript, мои курсы продолжаются, и мне просто интересно узнать, как это сделать. Любая подробная помощь будет очень признательна!

4 ответов


Я надеюсь, что мне нужно разработать следующий код

кнопка на функции щелчка на домашней странице:

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.готовые (функция). Поэтому я не могу использовать эти значения в своем JSP. как только я получил значения, мне нужно отобразить их в JSP.


надеюсь, этот код поможет вам

Это должно быть на главной странице:

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);
}

идентификатор может быть вашим идентификатором текстового поля


на result.html найти окно который открыл его, используя window.opener и тогда взять данные из интереса, что окно.

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);

Я думаю, что простое задание, используя окно.ручка открывателя изнутри детского окна, это то, что вам нужно:

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