チェックボックス制御2つ以上併記したい
チェックボックスの選択数制御をしたいと思っています。Javascript初心者です。
同じ画面上に複数の質問がありまして、以下のように記述したのですが、後者(b_1~b_10)しか挙動しません・・前者はエラーも出ずに何も起こりませんでした。
どの部分が問題となっているのでしょうか。最終的には3つ質問があります(a,b,c)。大変申し訳ないのですが、対処法をご教示いただけないでしょうか。
どうぞよろしくお願いいたします。
<SCRIPT language="JavaScript">
<!--
// チェックボックス 1つめ
chn = new Array("a_1","a_2","a_3","a_4","a_5","a_6","a_7","a_8","a_9","a_10");
chc = 5;
function chBx(cn){
cnt = 0;
for(i=0; i<chn.length; i++) {
if(document.trForm.elements[chn[i]].checked) cnt++;
}
if(cnt > chc) {
alert("選択できる項目は" + chc + "個までです");
document.trForm.elements[cn].checked = false;
}
}
// チェックボックス 2つめ
chn2 = new Array("b_1","b_2","b_3","b_4","b_5","b_6","b_7","b_8","b_9","b_10");
chc2 = 5;
function chBx(cn2){
cnt2 = 0;
for(i=0; i<chn2.length; i++) {
if(document.trForm.elements[chn2[i]].checked) cnt2++;
}
if(cnt2 > chc2) {
alert("選択できる項目は" + chc2 + "個までです");
document.trForm.elements[cn2].checked = false;
}
}
//-->
</SCRIPT>
お礼
みなさん、ありがとうございました。 最近ようやく解決しました。 「external.menuArguments」が原因でした。 ありがとうございました。 <HTML> <SCRIPT language="JavaScript"> var doc = external.menuArguments.document; for (var i = 0; i < doc.forms[0].elements.length; i++) { if(doc.forms[0].elements[i].type == 'checkbox') { doc.forms[0].elements[i].checked = 1; } } </SCRIPT> </HTML>