2012-03-09 49 views
0

我有以下的JavaScript代码 -如何使用Javascript将一个窗口中的变量的值发送到新窗口?

function addOnClickEventHandler() 
    { 
     var userNameElement = document.getElementById("currentUser"); 
     var userName = userNameElement.value; // send this value to "chatWindow" 

     window.open("chatWindow.html", "Chat Window", "resizable=0,width=700,height=600"); 
    } 

现在,我怎么username的值发送到 “chatWindow”?另外,一旦它被发送,如何访问这个值?

回答

1

在打开的窗口中,您可以参考父窗口,如下所示:

var oWinCaller = top.opener;

通过此参考,您可以在打开新窗口时从打开的窗口中获取所需的任何内容。

+0

因此,例如。 oWinCaller.userName让我的用户名?但新窗口是HTML。 HTML会将其视为纯文本。如何解决这个问题? – CodeBlue 2012-03-09 15:31:14

+0

您可以放置​​一个元素,例如新窗口html中的隐藏字段,并将父项的值写入其中。 – 5arx 2012-03-09 15:35:26

+0

@ 5arx请问这样做? CodeBlue 2012-03-09 15:41:04

0

你可以尝试

window.open("chatWindow.html?id=1", "Chat Window", "resizable=0,width=700,height=600"); 

To Read Argument create js function in opening page and create following function 

function getArgs() { 
var args = new Object(); 
var query = location.search.substring(1); 
var pairs = query.split("&"); 
for (var i = 0; i < pairs.length; i++) { 
    var pos = pairs[i].indexOf('='); 
    if (pos == -1) continue; 
    var argname = pairs[i].substring(0, pos); 
    var value = pairs[i].substring(pos + 1); 
    args[argname] = unescape(value); 
} 
return args; 

} 然后用 变参= getArgs();
var hid = args.id;

+0

然后,如何在窗口内访问它? – CodeBlue 2012-03-09 15:24:46

+0

@CodeBlue我编辑了我的答案,将做。 – 2012-03-09 15:30:24

+0

先生,我很抱歉,但对我来说这太复杂了! – CodeBlue 2012-03-09 15:41:31

相关问题