2012-03-14 80 views
0

我有一個小問題。我有簡單的條件在JavaScript代碼。 它是這樣的:當istinito =真實的,但使用id =「obavestenje」從來沒有得到它的價值元素,永不可變捷克州設置爲truejavascript如果條件不執行所有命令

if (istinito) 
{ 
    alert ('123'); 
    document.getElementById('obavestavanje').value="Pobedi "+ime_igraca+"!!!"; 
    kraj=true; 
} 

警報apears。變量kraj是全局變量,並且與JS代碼的其他部分沒有衝突。 任何想法爲什麼代碼停止警報後?

+1

控制檯是否顯示任何錯誤信息?這個ID真的是對的嗎? – Matthias 2012-03-14 14:45:53

+0

在警告框上單擊確定後,值是否應用? – 2012-03-14 14:46:39

+2

'#obavestavanje'是一個html輸入嗎? – Joe 2012-03-14 14:46:44

回答

0

我可以給你的第一個建議: 使用更多的控制檯日誌進行調試。幾乎所有的現代瀏覽器都有一個控制檯來調試和其他事情。

if (istinito) { 
    console.log("i am here");  
} 

從你也可以執行命令是同一個控制檯。這些dom操作很容易從控制檯完成。只要運行它們,看看它是否有效。

代碼:

document.getElementById('obavestavanje').value = "some value" 

看起來確定。沒有錯。我想你沒有ID爲「obavestavanje」的元素?

+0

我確實有id「obavestavanje」,它可以在代碼的其他部分工作。但我更關心變量kraj ......我會聽取您的建議並使用控制檯。謝謝。 – teogonia 2012-03-14 15:10:02

0

看起來像document.getElementById('obavestavanje')返回null。您正嘗試通過使用document.getElementById('obavestavanje')。值來解除引用空引用,從而導致空指針異常。如果您查看控制檯,您應該看到引發了一些異常。在試圖解引用它之前,檢查document.getElementById()是否返回一個有效的對象總是一個好主意。

例如

if (istinito) 
{ 
    alert ('123'); 
    element = document.getElementById('obavestavanje') 
    if(element){ 
     element.value="Pobedi "+ime_igraca+"!!!"; 
    } 
    kraj=true; 
} 
+0

謝謝蘇雷什的回答。我更關心變量kraj在這段代碼之後是錯誤的。我會試着看看控制檯。再次感謝您的回答。 – teogonia 2012-03-14 15:15:39

0

看起來你的代碼沒問題。而且你確定你有一個id爲'obavestavanje'的元素。你能說說它是什麼元素嗎?它是一個按鈕,文本框或類似的東西?

也是「Pobedi」中的字符串+ ime_igraca +「!!!」什麼是'ime_igraca'?它是一個變量,如果它是你在某個地方定義了這個變量?

還是你的意思是給價值「Pobedi ime_igraca !!!」 ??

謝謝 Ranis MK