2011-07-20 97 views
2

我在textareas上爲一個網站(Twitter風格)實現了一個長度計數器。我使用http://www.codefromjames.com/wordpress/?p=15這裏發現的代碼,但似乎不適用於IE7。 我已經將問題追溯到元素中屬性「maxlength」的檢查。如果找不到該屬性,它預計它爲空,但IE7返回一個數字(我猜是瀏覽器或HTML標準允許的最大長度,我不知道)。 這裏有一個例子,你可以嘗試:Internet Explorer 7中的錯誤element.getAttribute方法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es"> 
    <head> 
    </head> 
    <body> 
    <input id="test"></input> 
    </body> 
    <script type="text/javascript"> 
var element = document.getElementById("test"); 
alert(element.getAttribute("maxlength")); 
</script> 
</html> 

嘗試在IE7執行這一點,你會發現它給出了一個數字,而不是空。

IE7的

確切的版本是7.0.5703.13

我應該認爲這是一個錯誤IE7或正在按預期工作?

乾杯!

+0

小提琴:http://jsfiddle.net/h5qh3/。 – pimvdb

+0

在IE 7中,它顯示數字值'2147483647'純粹的IE bug –

+0

我已經找到了這個問題。對於'',它給出了我提到的數值。但是對於'