Получение значения из всплывающего окна с использованием только 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>