1

このコードは既に配置されています。

function chkcontrol(j) {
    var total=0;
    for(var i=0; i < document.contactForm.qualities.length; i++) {
        if(document.contactForm.qualities[i].checked) {
            total =total +1;}
            if(total > 2) {
                alert("Please Select only 2")
                document.contactForm.qualities[j].checked = false ;
                return false;
             }
        }
    }
}

正常に動作しますが、ブラケットを付けるname="qualities[]"と動作しなくなります。[] を追加しようとしています: for(var i=0; i < document.contactForm.qualities.length; i++){

エラーを返します。

EDIT HERE は私の関連する HTML です:

<form name="contactForm" method="post" action="{$contact_action}" id="newform">
<table width="100%" cellpadding="0" cellspacing="0" id="cfCSF">
    <label><input type="checkbox" name="qualities[]" value="value" onclick="chkcontrol(0)"/> value</label><br />
    <label><input type="checkbox" name="qualities[]" value="value" onclick="chkcontrol(1)"/>value</label><br />
    <label><input type="checkbox" name="qualities[]" value="value" onclick="chkcontrol(2)"/> value</label><br />
    <label><input type="checkbox" name="qualities[]" value="value" onclick="chkcontrol(3)"/> value</label><br />
    <label><input type="checkbox" name="qualities[]" value="value" onclick="chkcontrol(4)"/> value</label><br /><br />
4

3 に答える 3

1

有効な識別子ではない文字を含むオブジェクト キーを使用するには、角括弧表記が必要です。

for(var i=0; i < document.contactForm["qualities[]"].length; i++){

これにより、任意の有効な文字列をキーとして使用できますが、識別子の構文では文字、数字_$.

于 2013-04-25T16:32:59.983 に答える
0

を使用document.contactForm['qualities[]']してフォーム要素のリストを選択できますname="qualities[]"

于 2013-04-25T16:30:30.293 に答える