正在此錯誤在IE8 F12工具JavaScript錯誤「未實現」在IE8
我想寫unobstrusive驗證代碼,其中我會請身體的onload validate()方法,它會在附加驗證碼元素的特定事件取決於其類名。 (例如,使用類「必需的」文本框它將附加要求()它的onblur)
,這是什麼錯誤的原因是什麼?
編輯
問題不是在getElementsByClassName方法()方法,因爲它返回與你可以在IE8看到所需的類元件的陣列手錶
正在此錯誤在IE8 F12工具JavaScript錯誤「未實現」在IE8
我想寫unobstrusive驗證代碼,其中我會請身體的onload validate()方法,它會在附加驗證碼元素的特定事件取決於其類名。 (例如,使用類「必需的」文本框它將附加要求()它的onblur)
,這是什麼錯誤的原因是什麼?
編輯
問題不是在getElementsByClassName方法()方法,因爲它返回與你可以在IE8看到所需的類元件的陣列手錶
getElementsByClassName
。
您可以試試document.querySelectorAll
或document.querySelector
。它更靈活,使用起來非常舒適。
你的情況,那就是:
var a = document.querySelectorAll(".required");
您可以使用基本的CSS選擇器,讓您的DOM的元素,如querySelector("#ID .class")
你在jQuery的會。
問題編輯,請參閱編輯 – Mahesha999
好吧,試試'querySelectorAll'並看看這是否解決了你的問題......你有沒有自定義的插件或框架運行? – Christoph
是的,在IE8中工作,但意識到任何方式使其在IE5(甚至IE7)的工作 - 以防萬一 – Mahesha999
嘗試這種解決方案 - 我測試了它,它適用於你的代碼片段(你必須把他寫在「更新」中的代碼段落):
javascript document.getElementsByClassName compatibility with IE
看起來像getElementsByClassName
在IE8中不受支持。
順便說一句:這是一個很好的例子,爲什麼你應該使用jQuery的 - 因爲你不會有這樣的問題存在:)
編輯: 我測試它像這樣:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^|)'+classname+'(|$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
window.onload = function() {
var a = getElementsByClassName(document.body,"required");
for(var i = 0;i < a.length;i++)
a[i].onblur = function() { alert("blured")};
};
</script>
</head>
<body>
<input class="required" type="text" name="uno" />
<input class="required" type="text" name="duno" />
</body>
</html>
哇謝謝誰無論什麼原因downvoted。 –
oops該方法是在那裏行和陣列正在正確填充,現在我意識到[i]類型的DispHTMLInputElement的問題,它沒有onblur和onclick事件,因爲我可以在IE的類型列中看到它,無論如何,我可以把它投入到輸入元素? – Mahesha999
不知道你的意思?檢查我的編輯爲例 –
可能是一個範圍問題.. – Rinku
任何猜測究竟在哪裏? – Mahesha999
可能tenhouse是正確的..他給出的鏈接很好..然後 – Rinku