2011-09-21 108 views
0

爲什麼我在的Javascript運行時錯誤

VAR客戶端ID =的document.getElementById( 「ClientIDTextBox」)值獲得運行時錯誤在JavaScript。

,我的代碼是:

<script type="text/javascript"> 
    var ClientID = document.getElementById("ClientIDTextBox").value; 
    if (ClientID == "") { 
     alert("Please enter ClientID") 
     } 
</script> 

請幫我

+2

也許元素與id'ClientIDTextBox'找不到? – Samich

+1

讓我猜,你把這個腳本放在你試圖獲取ID的元素之前? –

+0

非常感謝您的答覆..現在它的工作...... :) – Swetha

回答

3

你很可能得到一個運行時錯誤,因爲呼叫document.getElementById將返回null。試圖獲得valuenull導致錯誤。

嘗試,而不是

var element = document.getElementById('ClientIDTextBox'); 
if (element) { 
    var ClientID = element.value; 
    ... 
} 

的根本原因,雖然是可能的DOM加載之前您的JavaScript運行,因此與ID ClientIDTextBox你的元素是不可以下。確保在加載DOM後運行JavaScript以防止出現此問題。

+1

這是一個不好的答案的任何合乎邏輯的原因?爲什麼downvote? – khr055

+0

@Mike,我的第一個版本有'getElementById'錯誤時返回'undefined'而不是'null'。我已經糾正了,但它可能是原來downvote的原因。 – JaredPar

1
<script type="text/javascript"> 
    var ClientID = document.getElementById("ClientIDTextBox"); 
    if (ClientID == null || ClientID.value == "") { 
     alert("Please enter ClientID") 
     } 
</script>