2013-10-15 66 views
0

我有一個奇怪的問題。我有一個使用經典asp構建的網站。它運行良好多年,但現在出於某種原因,我的一些htc在頁面加載時不顯示。然後,當我嘗試訪問這些對象像這樣:document.All(objName).value,我得到:對象不支持此屬性或方法。經典asp。對象未顯示

有什麼想法?

謝謝。

+0

嘗試'document.All.objName.value'如果'objName'是一個實際元件ID(不是變量)或'document.getElementById(objName)'如果它是一個帶有元素ID的變量。 –

+0

你使用什麼瀏覽器? – 2013-10-15 11:28:16

+0

我使用的是IExplorer 9 –

回答

1

首先想提起這與經典的ASP無關,這是純粹的客戶端問題。

現在到了。臭名昭着的document.all不應該使用,時期。客戶端VBScript也應該避免,因爲它僅僅是IE瀏覽器,這意味着它不適用於超過50%的訪問者。

總結:切換到JavaScript並使用標準document.getElementById。從這樣的行更改代碼:

MyValue = document.All(objName).value 

爲了這個:

var myValue = document.getElementById(objName).value; 

萬一OBJNAME是名稱,而不是ID例如您可以使用<input type="text" name="MyInput" />

var myValue = document.getElementsByName("MyInput")[0].value; 

(假設你有一個同名只有一個元素)

0

是不是解決了嗎?如果這個問題特別在IE瀏覽器上產生,你可以通過添加下面這行ASP代碼來使它兼容版本?

Response.AddHeader 「X-UA-兼容」, 「IE =邊緣,鉻= 1」