简体   繁体   English

仅使用JS和HTML从弹出窗口获取价值

[英]Getting Value From Popup Window Using only JS & HTML

Is it possible to get a value from a popup window? 是否可以从弹出窗口获取值? Additionally I would like to use JS and HTML only, ie no PHP. 另外,我只想使用JS和HTML,即不使用PHP。 Is this even possible? 这有可能吗? I've seen other posts on here like this one: 我在这里看到了其他类似这样的帖子:

getting value from popup window 从弹出窗口获取价值

but that's in aspx. 但这是aspx。

I have googled a bit and found this link: 我在Google上搜索了一下,找到了此链接:

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

However, it works on that guys site but not when i copy and paste it, I may be a noob so this is what I have: 但是,它在那个家伙的网站上有效,但是当我复制并粘贴它时不起作用,我可能是菜鸟,所以这就是我所拥有的:

parent.html 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 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>

Any help would be greatly appreciated. 任何帮助将不胜感激。

It works for me (using Firefox 20.0). 它对我有效(使用Firefox 20.0)。 But the code is really ugly and old though, probably you should study the present standards of MSDN Window to understand how it works in firefox (Window object may change its behaviour in other browsers). 但是代码确实很丑陋而且很旧,可能您应该研究MSDN Window的当前标准以了解它在firefox中的工作方式(Window对象可能会在其他浏览器中改变其行为)。 Ah, and of course the ECMAScript . 嗯,当然还有ECMAScript But to introuduce one of the multiple solutions, you could try this: 但是要介绍多种解决方案之一,您可以尝试以下方法:
parent.html 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 (I changed the extension!) 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>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM