ここから本文です

JavaScript チェックボックスについて

oya********さん

2009/6/1420:25:53

JavaScript チェックボックスについて

チェックボックスにチェックが入っていない場合は、
「規約に同意して下さい」とアラート表示し、
チェックが入っている場合は、「OK!!」と表示されたいのですが、
入っていなくても、「OK!!」となってしまいます。


<html>
<head><title>規約に同意</title></head>
<body>
<form action="***.php" method="post" onsubmit="return CheckCheck()" name="form">
<input type="checkbox" name="kiyaku_doui" value="同意する">規約に同意する<br>
<input type="submit" value="チェック">
</form>
<script type="text/javascript">
<!--
function CheckCheck(){
box=form.kiyaku_doui.value;

if(box == ""){
alert('規約に同意して下さい');
return false;
}
else{
alert('OK!!');
return false;
}
}
//-->
</script>
</body>

閲覧数:
2,006
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

siiさん

2009/6/1420:53:37

<input type="checkbox" name="kiyaku_doui" value="同意する">

この時点でvalue属性に「同意する」という値が入っているわけですから、

if(box == "")

この条件分岐がtrueになることはあり得ません。分岐の前でbox変数をalertしてみると、このことが確認できると思います。別なところでvalueを空にする処理でもあれば別ですけどね。

------------

「チェックボックスがチェックされているかどうか」は、DOM HTMLのHTMLInputElementインタフェースで「checked」というattributeが定められていますので、これを使いましょう。

function CheckCheck() {
var box = document.forms['form'].elements['kiyaku_doui'];

if(!box.checked) {
alert('規約に同意して下さい');
return false;
}
else{
alert('OK!!');
return false; //trueの間違い?
}
}

このようにされてみてはいかがでしょうか。

【参考】
Interface HTMLInputElement
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-ref/HTML/HTMLInputEle...

質問した人からのコメント

2009/6/14 22:09:41

降参 成功しました。
ありがとうございました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる