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 回答