Получение значения из всплывающего окна с использованием только JS и HTML

Можно ли получить значение из всплывающего окна? Кроме того, я хотел бы использовать только JS и HTML, т.е. без PHP. Это вообще возможно? Я видел другие посты здесь, как этот:

получить значение из всплывающего окна

но это в aspx.

Я немного погуглил и нашел эту ссылку:

http://www.bignosebird.com/js/popmap.shtml

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

parent.html

<html>
<head>
</head>
<body>
<form>
<INPUT TYPE="TEXT" NAME="maparea" SIZE=2 VALUE="">
<input type=button onClick='targetitem = document.forms[0].maparea; dataitem = window.open("map.shtml", "dataitem", "toolbar=no,menubar=no,scrollbars=yes"); dataitem.targetitem = targetitem' value="Show Map">
</form>
</body>
</html>

map.shtml

<html>
<head>
<script>
function select_item(item)
{
targetitem.value=item;
top.close();
return false;
}
</script>
</head>

<body>

<CENTER>
<B>Our Map</B>
<BR>

<IMAGE SRC="map1.gif" ISMAP USEMAP="#MAP1">
<MAP NAME="MAP1">
<AREA SHAPE=RECT COORDS="11,10,116,133" HREF="" onClick='return select_item("1")'>
<AREA SHAPE=RECT COORDS="121,11,227,172" HREF="" onClick='return select_item("2")'>
<AREA SHAPE=RECT COORDS="11,140,115,226" HREF="" onClick='return select_item("3")'>
<AREA SHAPE=RECT COORDS="119,177,225,227" HREF="" onClick='return select_item("4")'>
<AREA SHAPE=default HREF="" >
</MAP>
</CENTER>
</body>
</html>

Любая помощь будет принята с благодарностью.

1 ответ

Решение

Это работает для меня (используя Firefox 20.0). Но код действительно уродливый и старый, хотя, вероятно, вам следует изучить существующие стандарты MSDN Window, чтобы понять, как он работает в Firefox (объект Window может изменить свое поведение в других браузерах). Ах, и, конечно, ECMAScript. Но, чтобы представить одно из множества решений, вы можете попробовать это:
parent.html

<input type="text" id="output"/>
<button id="show">Open</button>

<script>
    document.getElementById('show').addEventListener('click', function(){
        window['output'] = document.getElementById('output');
        window.open('map.html')
    });
</script>  

maps.html (я изменил расширение!)

<input type="text" id="user_text"/>
<input id="send" type='button' value'send'/>

<script>
    document.getElementById('send').addEventListener('click', function(){
    window.opener['output'].value = document.getElementById('user_text').value;
})
</script>
Другие вопросы по тегам