有没有办法在提交表单之前检查表单以查看是否已选中任何复选框?

发布于 2024-10-15 02:54:42 字数 281 浏览 4 评论 0原文

有没有办法在提交表单之前检查表单,看看是否有任何复选框已在 Javascript 中选中?

类似...

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

基本上我只是希望它在选中 0 个复选框时提醒我。需要 1 个或更多。

我会在提交时调用这个函数。

非常感谢!!

Is there a way to check a form before submitting it to see if ANY of the checkboxes have been checked in Javascript?

Something like...

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

Basically I just want it to alert me if 0 checkboxes were selected. 1 or more is required.

I would call this function on submit.

Thanks much!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

勿忘初心 2024-10-22 02:54:42

您可以执行以下操作:

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(),而不是从 document 调用。

You could do something like this:

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;
}

Then you could call that function from your "submit" handler"

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

If your page is more complicated than what this implies (like, if there are multiple forms), then you'd find the appropriate form first and call .getElementsByTagName() from that point instead of from document.

反话 2024-10-22 02:54:42

怎么样:

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/

How about:

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

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

using getElementsByName().

Usage:

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

Here's an example: http://jsfiddle.net/andrewwhitaker/2saJp/1/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文