2012-07-27 38 views
0

最近,我們將我們的網站從.NET 3.5升級到4.0。在這樣做之後,我們注意到舊版IE中出現了一些非常奇怪的事情。標準視圖中的IE9按設計工作,但是,任何其他版本的IE在使用RequiredFieldValidator輸入到一個asp文本框中時都會給我們一個奇怪的錯誤。在找到的.NET匿名函數中,我們得到「未找到成員」。腳本錯誤onthis行:event = event || window.event;我到處搜索,但還沒有找到解決方案。這隻發生在我們輸入文本框時,並且僅在此頁面上。任何幫助,將不勝感激。這只有發生在舊版IE,其他瀏覽器和IE9似乎處理它非常好。「event = event || window.event」找不到成員。 RequiredFieldValidator

謝謝!

+0

請發表您的代碼 – 2012-07-27 19:55:42

回答

0

由於您沒有發佈您的代碼,我們只能猜測發生了什麼。

行引發錯誤是好的(假設event在函數參數中),可能錯誤是由下一行引起的。當您嘗試檢索event對象的不存在的屬性時,IE會拋出Member not found錯誤消息。

我想有keyup或​​處理程序在腳本中,有一條線是這樣的:

if (event.which == 13){ ... } 

然而,沒有which財產event對象中老年IE外,相應的屬性是keyCode。所以,你需要檢查兩個:

var key=event.which || event.keyCode; 
if (key == 13){ ... } 
2

是不是訪問事件|| setTimeout函數中的window.event?如果是的話,到那個時候,甚至可能已經失去,並訪問該事件會給你「成員未找到」的錯誤..

+0

好猜,但...如果沒有'window.event 'object,'||'會返回undefined。因此,稍後在代碼中嘗試使用'event'變量將會拋出'Can not find property X.Object is undefined or null'-error。 – Teemu 2012-07-28 12:32:19