設置:更改父窗口的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