當我開始我的index.php它調用具有下面這段代碼我的JavaScript文件:在Internet Explorer 6,7,8 JavaScript錯誤,「爲空或不是對象」
時應用程序啓動時立即出現此錯誤:
,這隻能在互聯網上探險發生,對的index.php沒有「txtName的」,因爲。每個頁面都要調用js,有什麼辦法可以改進這個功能? tath我不需要手動把每個頁面的js?
任何人都知道我該如何解決這個問題?非常感謝您......
當我開始我的index.php它調用具有下面這段代碼我的JavaScript文件:在Internet Explorer 6,7,8 JavaScript錯誤,「爲空或不是對象」
時應用程序啓動時立即出現此錯誤:
,這隻能在互聯網上探險發生,對的index.php沒有「txtName的」,因爲。每個頁面都要調用js,有什麼辦法可以改進這個功能? tath我不需要手動把每個頁面的js?
任何人都知道我該如何解決這個問題?非常感謝您......
你爲什麼不把有條件的這種方法: 在這種情況下:
var iId = document.getElementById('txtName');
if(iId != null)
{
// Processing
}
更新:
更新後的問題 - 你可以測試元件首先
function focus(){
var txtNameObj = document.getElementById('txtName');
if(txtNameObj){
txtNameObj.focus();
}
}
這應該避免與它的錯誤沒有被定義。
原始
我只能猜測有兩個問題之一:
a)您的DOM還尚未加載(因此即使該ID將存在,但它尚未)
b。)您沒有具有該ID的元素。
如果元素確實存在,一定要在確定元素已加載後才調用focus函數。例如你可以將它作爲腳本標記放在身體關閉之前。
<script>
focus();
</script>
</body>
</html>
由於腳本標記是同步執行的,或者是「阻塞」,所以您還可以在腳本需要在來源中。 –
這意味着IE不能找到你的元素(id爲「txtName的」)。更多的代碼(帶有HTML標記)將幫助我們理解爲什麼 –
我在原文中添加了問題的答案 –