チェックボックスのデータの取得

<html>
<head>
<title>Check box</title>
<script language="JavaScript">
<!--
 function check(){
  var i,j,os;

  os=new Array();
  j=0;
//for文のループここから
  for(i=0;i<(document.form1.elements.length-1);i++){
//if文の分岐ここから
   if(document.form1.elements[i].checked==true){
//if文のtrue部分 false部分は省略
    os[j]=document.form1.elements[i].value;
    j++;
    }
//分岐ここまで
   }
//ループここまで

//for文のループここから
  for(i=0;i<j;i++){
//if文の分岐ここから
   if(os[i+1]!=null){
    document.write(os[i]+",");
    }
   else{
   document.write(os[i]);
   }
//分岐ここまで
  }
//ループここまで
 }
//-->
</script>
</head>
<body>
<h1><b>Check box 2</b></h1><br>
<form name="form1">
<!--elements 0-->
<input type="checkbox" value="Windows">Windows
<!--elements 1-->
<input type="checkbox" value="UNIX">UNIX
<!--elements 2-->
<input type="checkbox" value="Others">Others<br><br>
<input type="button" value="Confirmation" onclick="check()">
</form>
</body>
</html>
【解説】
関数「check」
変数1「i」ループの回数
変数2「j」チェックした数
変数3「os」valueの表示
ここでは、nameのかわりにelementsを使っています。
数字が配列に対応しているので、それ対応するものを
コメントタグでつけておきました。
一つ目のループでは変数「os」の各配列ごとにvalueの
値を書き込んでいきます。
二つ目のループでは変数「os」を順番に書き出し、
複数ある場合は間にカンマを出力します。

戻る