2015-06-15 2 views
1

У меня есть окно PopUp, которое идет upload.jsp, которые загружают файл в каталог.Передача переменной из окна всплывающего окна в родительское всплывающее окно

Логика загрузки написана на upload.jsp. Моя проблема в том, что я хотел получить сохраненный путь к текстовому полю окна всплывающего окна.

+0

Взгляните на этот вопрос: http://stackoverflow.com/questions/7243970/ access-a-window-by-window-name – m69

+0

спасибо за ссылку ..... –

ответ

2

Детское окно имеет свойство, opener, которое относится к открытому окну. При условии, что они оба из того же происхождения, что ребенок может получить доступ к глобальным переменному на родителе, как это:

opener.globalVariable 

Это означает, что он может получить доступ к документу родительского окна, как opener.document, и поэтому может использовать opener.document.getElementById или opener.document.querySelector, чтобы получить на элементах родительского окна.

Пример:

Родительская страница:

<!doctype html> 
<html lang="en"> 
<body> 
<input type="text"><input type="button" value="Click me"> 
<script> 
document.querySelector("input[type=text]").value = Math.floor(Math.random() * 10000); 
document.querySelector("input[type=button]").addEventListener(
    "click", 
    function() { 
    var wnd = window.open("popup.html"); 
    }, 
    false 
); 
</script> 
</body> 
</html> 

Popup страница:

<!doctype html> 
<html> 
<body> 
<script> 
var field; 
if (!opener) { 
    display("Not opened as a popup"); 
} else { 
    field = opener.document.querySelector("input[type=text]"); 
    display("Value is " + field.value); 
} 

function display(msg) { 
    var p = document.createElement('p'); 
    p.innerHTML = msg; 
    document.body.appendChild(p); 
} 
</script> 
</body> 
</html> 
+0

Спасибо, это помогло мне TJ Crowder –

+0

@ManjunathVibhooti: Рад, что помогло. –

+0

@ManjunathVibhooti: Если это * ответили * на ваш вопрос, как работает SO, вы должны «принять» ответ, нажав галочку рядом с ним. [Больше здесь.] (/ Help/someone-answers) Но только если он * ответил * на ваш вопрос. –

Смежные вопросы