2011-02-24 87 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