母版页和JavaScript问题

时间:2010-12-01 21:38:40

标签: javascript asp.net master

我准备了一个aspx文件,可以用(window.open)命令打开一个新窗口。在子窗口中,一些值使用(.innerHTML)命令发送到父页面,它可以自行关闭。但是,在我将母版页设置为父页面之后,命令无法从新窗口向父级发送任何值,并且它无法自行关闭。

母版页如何影响我的javascript命令?
感谢


编辑:通过drachenstern(我尽我所能,我拥有的......这就是他所粘贴的)

从后面的子代码:

<br> Page.RegisterStartupScript("CLOSE",
  "<...JS...><script type=\"text/javascript\">" +<br>
  "window.opener.document.getElementById('TableID').innerHTML = \"" + RadioNumber + "\";" +<br>
"window.opener.document.getElementById('HiddenTableID').value = \"" + RadioNumber + "\";  
<br>
self.close();" +
"<...JS....></script>"
);<br>

家长方:

<br>
..a ..<br>href="javascript:window.open('SelectTable.aspx','OPEN','toolbar=no,directories=no,status=no,titlebar=no,menubar=no,scrollbars=no,resizable=no,width=800,height=600,top=0,left=0,');"/>SelectSomthng<br>../a..

第二次编辑:(再次drachenstern) 看来这是意图

从后面的子代码:

Page.RegisterStartupScript("CLOSE",
  "<...JS...><script type=\"text/javascript\">" +
  "window.opener.document.getElementById('TableID').innerHTML = \""   + RadioNumber + "\";" +
  "window.opener.document.getElementById('HiddenTableID').value = \"" + RadioNumber + "\"; +
  self.close();" + "<...JS....></script>");

家长方:

/* drachenstern: notice I put the carriage returns for legibility, not in the original code*/
<a href="javascript:window.open(
'SelectTable.aspx',
'OPEN',
'toolbar=no,directories=no,status=no,titlebar=no,menubar=no,
scrollbars=no,resizable=no,width=800,height=600,top=0,left=0,'
);"/>SelectSomthng</a>

2 个答案:

答案 0 :(得分:1)

如果您想在子窗口中获取父页面的控件并使用父页面的母版页...那么您可以使用以下命令来使用TagName控制输入类型或任何其他类型

var collection=window.opener.document.body.getElementsByTagName('input')

alert(collection[o].id);  
alert(collection[1].id);
alert(collection[2].id);..... ext

您可以遍历集合并通过indexOf()方法找到所需的ID,并执行您想要的任何操作。

答案 1 :(得分:0)

从后面的子代码:
Page.RegisterStartupScript(“CLOSE”,                             “&LT; ... JS ...&gt;” 中+
                                “window.opener.document.getElementById('TableID')。innerHTML = \”“+ RadioNumber +”\“;” +
                                “window.opener.document.getElementById('HiddenTableID')。value = \”“+ RadioNumber +”\“;” +
                                “self.close();” +                             “&LT; ... JS ....&gt;” 中                             );

家长方:
..a ..
href =“javascript:window.open('SelectTable.aspx','OPEN','toolbar = no,directories = no,status = no,titlebar = no,                         menubar = no,scrollbars = no,resizable = no,width = 800,height = 600,top = 0,left = 0,');“/&gt; SelectSomthng
../a ..