设置:更改父窗口的onclick值在子窗口通过JavaScript
我打开通过js的一个新窗口,是一种形式(是的,传统的ASP,我知道)传统的ASP页。这表单帖子到一个处理页面,我Response.Write()一些内联js操纵父页面上的表单元素像这样。
.Write ("<script language=""javascript"">" & vbcrlf)
.Write ("var stopButton = opener.document.getElementById(""timerStop"");" & vbcrlf)
.Write ("stopButton.style.display = ""inline"";" & vbcrlf)
.Write ("window.close();" & vbcrlf)
.Write ("</script>" & vbcrlf)
问题:
上述工作正常,当我试图改变STOPBUTTON元素的onclick值全部:
.Write ("<script language=""javascript"">" & vbcrlf)
.Write ("var stopButton = opener.document.getElementById(""timerStop"");" & vbcrlf)
.Write ("stopButton.style.display = ""inline"";" & vbcrlf)
**.Write ("stopButton.onclick = function() {alert(""test"");};" & vbcrlf)**
.Write ("window.close();" & vbcrlf)
.Write ("</script>" & vbcrlf)
,然后单击按钮上的窗口关闭后我在FF中遇到错误,IE中没有任何反应:
未捕获的异常:[异常... “组件返回失败代码: 0x80004005的(NS_ERROR_FAILURE) [nsIDOMWindowInternal.alert]” nsresult: “0x80004005的 (NS_ERROR_FAILURE)” 位置:“JS 帧:: /timer/activity_proc.asp?a=start :: anonymous :: line 8“data:no]
这是因为子窗口不再存在吗?我应该注意,在我尝试更改它的值之前,按钮确实有一个onclick值。
谢谢主席先生,完美的作品。 – Dzejms 2009-08-18 14:42:27