2011-02-24 3 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')がNULLである要素を表示する場合、「チェックボックス」チェックボックスがオンになっているかどうかを確認するにはどうすればよいでしょうか?

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を渡す必要があります。また、あなたがifまたはelseブロック内に複数の文を入れている場合は、代わりにoncheck

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

onclickする必要があり、彼らは中括弧を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

それはこれだけif (chk.checked == 1)を変更する他のcheckedfalse

ときに、チェックボックスのcheckedプロパティがtrueです〜if (chk.checked === true)

EDIT

はまた、あなたがチェックボックスがチェックされた場合に表示したい入力に加えるとid Texttoshowしてください。

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

+0

初期の質問ではありませんが、更新点+1 –

関連する問題