チェックボックスの入力チェック警告について
-
0 名前: ぱーる : 2006/03/07 16:32
- 初めまして、皆さんの知恵を借りていただきたく、ここに書かせて頂きます。
全てのチェックがオンになっていた時、警告を出したいんですが、うまく出来ません・・・。
また1つでもオフになっていた場合は「送信」出来るようにしたいんです。
どなたか教えて頂けませんでしょうか?
<script Language="JavaScript">
<!--
function check(){
for(i=0;i<document.forms[0].chk.length;i++){
if(document.forms[0].chk[i].checked == true){
flg = document.forms[0].chk[i].value
}
}
if(flg=="1"){
alert("チェックが全てオンになっています!");
document.forms[0].chk.focus();
return false;
}
document.myform.submit();
return true;
}
// -->
</script>
<FORM METHOD="POST" NAME="myform" ACTION="aaa.asp">
<input type="checkbox" name="chk<%=cnt%>" VALUE="1"
checked>
<INPUT TYPE="button" VALUE="送 信" onClick="check()">
</FORM>
※ASPで作成しています。そのため、チェックボックスの数は決まっていません。
<%=cnt%>→ループ回数でカウントされる数字を示します。
(例:ループ回数が3回の場合、chk1、chk2、chk3という風になります。)
-
1 名前: m035 : 2006/03/07 16:32 [URL]
- <script language="JavaScript" type="text/javascript">
<!--
function check(){
var cnt=0,max=0;
for(var i=1;document.forms[0]["chk"+i];i++){
if(document.forms[0]["chk"+i].type=="checkbox"){
if(document.forms[0]["chk"+i].checked)cnt++;
max++;
}
}
if(cnt==max)alert("チェックが全てオンになっています!");
else document.forms[0].submit();
}
// -->
</script>
以上のようにすればいいかと思います。
name="chkX"のcheckboxの要素数をカウントし、
オンになっている数と等しければすべてオン、
そうでなければ最低一つはオフと判別します。
また、returnの必要はありません。
もしするとしたらonsubmitに関数を指定するときです。
最後に、JavaScriptが無効の場合submitできませんがそれは仕様ですか?
-
2 名前: ぱーる : 2006/03/07 16:32
- m035さん、丁寧に教えてくださってどうもありがとうございました。
Javascriptが無効の場合、submitできないようにしております。
おかげさまで、解決することが出来ました。
どうも有難うございました。