0

ユーザーが少なくとも 2 つの夏のアクティビティを選択する必要があるように、フォームを検証しようとしています。そうでない場合は、ポップアップが表示されます。これが私のコードです。

私のJavaスクリプトコードは次のとおりです。

function ValidateForm(f) {

    var summer = document.getElementsByName("summer[]");
    var checked = 0;
    for (var i = 0; i < summer.length; i++) {
        if (winter[i].checked) {
            alert("Please select at least 2 summer activities");
        }
        return false;
    }

}

誰かが知っていれば、私のjavascriptの何が問題になっていますか?

4

3 に答える 3

1

これを試して :

var Checked = $('input:checkbox:checked').length;
于 2013-03-07T06:04:06.680 に答える
0

このコードを使用して、それがあなたのために働くかどうかを確認してください:

function ValidateForm(f) {

    var summer = document.getElementsByName("summer[]");
    var checked = 0;
    for (var i = 0; i < summer.length; i++) {
        if (winter[i].checked) {
   checked=checked+1            

        }

    }
if(checked<2)
{
alert("Please select at least 2 summer activities");
return false;
}
return true;

}

現在、チェックボックスがオンになっている場合はfalseを返すことをテストしています。

于 2013-03-07T06:04:40.400 に答える
0

JavaScript 1.6 の配列フィルタ関数を使うとどうなるか

var summer =  document.getElementsByName("summer[]"); 
             // or document.querySelectorAll('[name="summer[]"]');

var checked = [].filter.call( summer , function( v ){
    return v.checked;
});

if ( checked.length < 2 ) {
   alert('Please select at least 2 summer activities');
   return false;       
}

return true;
于 2013-03-07T08:35:55.037 に答える