2012-10-10 82 views
-4
var searchKey = ""; 
for (var i = 0; i < 16; i++) { 
    searchKey += Math.floor(Math.random() * 0xF).toString(0xF) + (i == 4 || i == 6 || i == 8 || i == 10 ? "|" : ""); 
} 
searchKey = searchKey + "_"; 
document.getElementById('searchKey1').value = searchKey; 

我的代碼工作正常在IE8,但不支持IE7它顯示 「「的document.getElementById(...)爲空或不是對象」 爲什麼呢?請給予解決爲什麼我的代碼在IE7中不受支持?

+0

注意'0xF '是'15',而不是'16' – Esailija

+0

如果問題確切地說出了什麼問題,這將是有幫助的。 IE7中發生了什麼?應該發生什麼?你已經嘗試過什麼來解決它? – SDC

+1

此外,它在其他瀏覽器中工作嗎?可以說它在IE7中不起作用,但如果它在任何瀏覽器中都不起作用,問題不在於IE7。 – hvd

回答

2

顯然IE7打破的getElementById:IE7 breaks getElementById

從該鏈接:

IE瀏覽器處理在形式的ID屬性的名稱屬性,

+0

這是基於這個問題,不太可能對IMO有幫助,但並非不可能。如果一個元素的ID爲「searchKey1」,而另一個元素的名稱爲「searchKey1」,這會很奇怪,這就是'getElementById'不能正確工作的情況(根據您的鏈接)。 – hvd

+0

+1用於回答沒有問題的問題 – epoch

+0

@ hvd沒錯,但我們永遠不知道......;) – David

相關問題