4

フォームを送信する前にチェックして、Javascript でチェックボックスがチェックされているかどうかを確認する方法はありますか?

何かのようなもの...

function checkboxcheck(){
/*something in here to check name="brands[]" checkbox array?*/
}

基本的に、0個のチェックボックスが選択された場合に警告したいだけです。1 つ以上が必要です。

送信時にこの関数を呼び出します。

どうもありがとう!!

4

2 に答える 2

2

次のようなことができます。

function anyCheckboxesChecked() {
  var inputs = document.getElementsByTagName('input');
  for (var i = 0; i < inputs.length; ++i) {
    if (inputs[i].type === "checkbox" && inputs[i].checked)
      return true;
  }
  return false;
}

次に、「送信」ハンドラーからその関数を呼び出すことができます」

   if (!anyCheckboxesChecked()) {
     alert("Please check one of the appealing checkboxes on the page");
     return false;
   }

ページがこれが意味するものよりも複雑な場合 (複数のフォームがある場合など)、最初に適切なフォームを見つけて、.getElementsByTagName()from ではなくそのポイントから呼び出しますdocument

于 2011-02-01T00:54:40.740 に答える
0

どうですか:

function checkboxcheck(name) {
    var els = document.getElementsByName(name);

    for (var i = 0; i < els.length; i++) {
        if (els[i].checked) {
            return true;
        }
    }
    return false;
}

を使用してgetElementsByName()

使用法:

var valid = checkboxcheck("brands[]");

例を次に示します: http://jsfiddle.net/andrewwhitaker/2saJp/1/

于 2011-02-01T01:05:28.273 に答える