0

JavaScript を使用して、フォーム内の特定の比率のフィールドを完成させる必要がある方法を探しています。したがって、6 つのフィールドがあり、ユーザーが送信するために 2/6 を完了する必要がある場合。そうでない場合は、エラーが発生します。(フォームには、実際にはこのようないくつかの異なるグループが含まれているため、比率の特定のフィールドを識別できる必要があります。)

さらに調査した結果、近いものを見つけ、クラスの数を数えることができることに気付きました。チェックボックスの数が 2 以上の場合、これをどのように変更すればよいでしょうreturn trueか?

document.getElementById("test").onclick = function() {
    isCountCheck("Check something");
};

function isCountCheck(helperMsg) {
    var i, len, inputs = document.form1.getElementsByClassName("checkbox");
    for (i = 0, len = inputs.length; i < len; i++) {
        if (inputs[i].type === "checkbox" && inputs[i].checked) return true;
    }
    alert(helperMsg);
    return false;
}

更新:
私の最終的な jQuery は次のようになりました。

function isCountCheck(){
    if($("input[class=crit1]:checked").length >= 4)
        return false;
    alert("Check a box");
    return true;
}
4

2 に答える 2

1

jQuery の使用

var numberOfInputsCompleted = 0;
var allInputs = $(":input"); // returns all input fields on the document
var numberOfInputs = allInputs.length
allInputs.each(function () {
  if($(this).val() != '') {
    numberOfInputsCompleted = numberOfInputsCompleted  + 1;
  } 

});

numberOfInputsCompleted フィールドが完成numberOfInputsし、フォームの入力フィールドの総数が表示されます。お役に立てれば

于 2013-05-23T22:18:57.350 に答える
-1

最初に頭に浮かぶのは、入力されたフィールドをカウントし、入力されたフィールドの数が十分な場合は true (そうでない場合は false) を返す関数を作成することです。次に、「onsubmit」関数としてフォームに追加します。送信ボタンがクリックされると、関数が実行され、関数が返すもの (true または false) に応じて、フォームが送信されるかどうかが決まります。

JavaScript フォーム検証の詳細: http://www.w3schools.com/js/js_form_validation.asp

于 2013-05-23T22:17:18.450 に答える