2011-02-24 86 views
2
<script> 
function validate(chk){ 
if (chk.checked == 1) 
document.getElementById('Texttoshow').style.display="block"; 
else 
alert("You didn't check it! Let me check it for you.") 
chk.checked = 1; 
} 
</script> 

<input type="text" value="hey" style="display:none"><input oncheck="validate(this.id)" type="check"> 

輸出:的document.getElementById( 'Texttoshow')爲空我該如何檢查是否也檢查「複選框」是否被選中,如果是show元素?

This code will check if Checkbox is 
checked and if so, it will show the 
CSS Hidden Textbox. How do I make it 
so it will Do so in that manner? 

回答

3

有幾件事錯在這裏。

首先讓我們修復你的html元素。

這需要一個id:

<input type="text" value="hey" style="display:none" id="Texttoshow"> 

在這裏你需要,而不是通過(不存在)的ID的元素。也應該是onclick而不是oncheck

<input onclick="validate(this)" type="check"> 

如果你把多個語句在ifelse塊,他們需要包含withing大括號。

<script> 
function validate(chk) { 
    if (chk.checked == 1) document.getElementById('Texttoshow').style.display = "block"; 
    else { 
     alert("You didn't check it! Let me check it for you.") 
     chk.checked = 1; 
    } 
} 
</script> 

我可能會使用true/false布爾語句,但1是JS也沒關係。

1

複選框的checked屬性是true當它是checked其他false

所以只是改變if (chk.checked == 1)if (chk.checked === true)

編輯

如果複選框被選中,請添加並輸入Texttoshow

<input type="text" value="hey" style="display:none" id='Texttoshow'>

+0

這不是最初的問題,而是更新的要點+1 – 2011-02-24 06:25:21