あまりしないので結構こまってしまいましたのでメモ・・・。
<script type="text/javascript">
function clickfunc(){
var len = document.form1.chkBox.length;
for(i=0; i < len ; i++) {
if ( document.form1.checkbox[i].checked ) {
//チェックが入っている時の処理
//document.form1.checkbox[i].valueで値が取得できる
}
}
}
</script>
・・・
<form method=post name="form1" action="xxx.html>"
<input type="button" value="ボタン名称" onClick=clickfunc()>
<input type="checkbox" name="chkBox" value="xxx1>
<input type="checkbox" name="chkBox" value="xxx2>
<input type="checkbox" name="chkBox" value="xxx3>
</form>
一見問題なさそうですが、これには落とし穴があります。
チェックボックスを表示する行が1行のときだとlenがundefinedとなってしまいます。
悩んだあげく、1行の場合の処理を追加しました・・・。
よりよい方法をご存じの方は教えて下さい。
<script type="text/javascript>
function clickfunc(){
var len = document.form1.chkBox.length;
if ((len === undefined) && (document.form1.chkBox.checked == true)){
//1行の場合の処理
//チェックが入っている時の処理
document.form1.checkbox[i].valueで値が取得できる
}else{
//複数行の場合の処理
for(i=0; i < len ; i++) {
if ( document.form1.chkBox[i].checked ) {
//チェックが入っている時の処理
//document.form1.checkbox[i].valueで値が取得できる
}
}
}
}
</script>
・・・
<form method=post name="form1" action="xxx.html>"
<input type="button" value="ボタン名称" onClick=clickfunc()>
<input type="checkbox" name="chkBox" value="xxx1>
<input type="checkbox" name="chkBox" value="xxx2>
<input type="checkbox" name="chkBox" value="xxx3>
</form>

