我有一個奇怪的問題。我有一個使用經典asp構建的網站。它運行良好多年,但現在出於某種原因,我的一些htc在頁面加載時不顯示。然後,當我嘗試訪問這些對象像這樣:document.All(objName).value,我得到:對象不支持此屬性或方法。經典asp。對象未顯示
有什麼想法?
謝謝。
我有一個奇怪的問題。我有一個使用經典asp構建的網站。它運行良好多年,但現在出於某種原因,我的一些htc在頁面加載時不顯示。然後,當我嘗試訪問這些對象像這樣:document.All(objName).value,我得到:對象不支持此屬性或方法。經典asp。對象未顯示
有什麼想法?
謝謝。
首先想提起這與經典的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;
(假設你有一個同名只有一個元素)
是不是解決了嗎?如果這個問題特別在IE瀏覽器上產生,你可以通過添加下面這行ASP代碼來使它兼容版本?
Response.AddHeader 「X-UA-兼容」, 「IE =邊緣,鉻= 1」
嘗試'document.All.objName.value'如果'objName'是一個實際元件ID(不是變量)或'document.getElementById(objName)'如果它是一個帶有元素ID的變量。 –
你使用什麼瀏覽器? – 2013-10-15 11:28:16
我使用的是IExplorer 9 –