2012-10-10 17 views
2

出於某種原因,我不斷收到此錯誤,我不知道爲什麼。我不斷收到這個錯誤的JavaScript? (收音機,在javascript中檢查它們)

Uncaught TypeError: Cannot set property 'checked' of null js.js:4 
check js.js:4 
(anonymous function) 

這裏是我的代碼:

document.body.onload="check()"; 
function check() 
{ 
document.getElementById("urlchoice").checked=true; 
} 
+0

我想這可能是一些愚蠢的事,我已經真的離today..sleep deprevation -.- – Zachrip

+0

什麼是您的無線電集團(HTML)是什麼樣子? – Suroot

+2

我不知道爲什麼你的錯誤說s「(匿名函數)」,因爲它看起來像有問題的函數被命名爲「check」。 –

回答

1

首先檢查是否document.getElementById("urlchoice")null或不是。

window.onload = check; 

    function check(){ 
     if(document.getElementById("urlchoice")!=null){ // available 
      document.getElementById("urlchoice").checked = true; 
     } 
    } 
0

假設你有ID爲urlchoice(因缺席將是微不足道的診斷的元素,但我不認爲這是造成你的問題,因爲你說check正在調用),請嘗試window.onload,而不是document.body.onload

EDIT

再次,假定該文件具有ID = urlchoice單選按鈕元件,並且該腳本被適當地調用並正在運行,

嘗試:

function check() { 
    document.getElementById("urlchoice").checked=true; 
} 
window.onload=check; 

window.onload = function() { 
    document.getElementById("urlchoice").checked=true; 
} 

這些確實應該工作。

+0

我剛剛試過,我第一次在這裏發佈的代碼我猜並沒有給出錯誤,但它只是沒有檢查收音機盒的一些愚蠢的原因-.- – Zachrip

+0

適用於我http://jsfiddle.net/ d4Wfv /(另外,添加到我的答案....) –

0

ID爲「urlchoice」的未識別元素的錯誤點,你確定它存在嗎?

<body>  
    <input id="urlchoice" type="radio"> 

    <script> 
     document.body.onload = check(); 
     function check(){   
      document.getElementById("urlchoice").checked=true; 
     } 
    </script> 
</body> 

似乎工作(我刪除的雙引號document.body.onload =檢查();線,它不與它的工作

+3

刪除調用'check'的'()'。設置'onload'不應該是一個函數調用,只是一個函數的引用。 – Ian

相關問題