2013-05-10 35 views
-1

大概是一個非常簡單的錯誤,因爲我是很新的JavaScript的:JavaScript的if語句不會出於某種原因,已經嘗試一切,但不知道什麼是錯的

<head> 
<title> 
Test 
</title> 
<script type="text/javascript"> 
window.onload = function() { 
if document.getElementById('one').checked = function() { 
document.getElementsById("TestDiv").innerHTML = "one";} 
} 
</script> 
</head> 
<body> 
<input type="radio" name="one" id="one" value="one" /> 
<div id="TestDiv">Test</div> 
</body> 

提前感謝! :d

+1

你想完成什麼? – 2013-05-10 17:21:08

+0

@TedHopp當選擇單選按鈕時,div文本將從「測試」更改爲「一個」,只需對其進行測試即可。 – 2013-05-10 17:24:19

回答

4

使用括號,並且不包括在if語句的函數:

window.onload = function() { 
    if (document.getElementById('one').checked) { 
     document.getElementById("TestDiv").innerHTML = "one"; 
    } 
}; 

你拼錯了getElementById方法第二次。有一個額外的s字符。

如果你想要這個事件,當你選擇的單選按鈕的情況發生,那麼使用:

window.onload = function() { 
    document.getElementById('one').onclick = function() { 
     // if (this.checked) { 
     document.getElementById("TestDiv").innerHTML = "one"; 
     // } 
    }; 
}; 

DEMO:http://jsfiddle.net/PbST6/

+1

很好的抓住額外的'.. +1 – tymeJV 2013-05-10 17:22:28

+0

它似乎仍然沒有爲我工作,出於某種原因。 – 2013-05-10 17:27:10

+0

@HarrisonGarner好吧,你沒有足夠快的解釋你想要的東西:)當你早先評論你的問題時,我們知道了你想要發生的事情。之後,我用新的代碼和演示更新了我的答案。檢查出來,它似乎工作 – Ian 2013-05-10 17:29:04

1

你的if語句格式錯...

if (document.getElementById('one').checked) { 
    document.getElementById("TestDiv").innerHTML = "one"; 
} 
0

它應該是這樣的

window.onload = function() { 
    if(document.getElementById('one').checked) { 
    document.getElementsById("TestDiv").innerHTML = "one"; 
    } 
} 

的「if」的條件部分必須在()中。在這種情況下,條件爲「document.getElementById('one')。checked」 然後,如果條件爲真,您希望發生的是{},而不是單獨的函數

2

如果您嘗試設置與id="one"元素的事件處理程序,該代碼應該這樣做:

window.onload = function() { 
    document.getElementById('one').onclick = function() { 
     document.getElementById("TestDiv").innerHTML = "one"; 
    } 
} 

如果你只是加載窗口時,測試元件的checked狀態(如你似乎試圖做),它將不會響應用戶事件。

+0

沒有理由檢查它是否被檢查。如果你點擊一個單選按鈕,它將被檢查 – Ian 2013-05-10 17:25:59

+1

@Ian - 真。我沒有注意到它是一個單選按鈕。如果是複選框,則需要進行測試。 – 2013-05-10 17:27:45

+0

絕對:)只是想指出來。 – Ian 2013-05-10 17:28:32

相關問題