小编典典

对一组复选框使用 HTML5“必需”属性?

all

使用支持 HTML5 的较新浏览器时(例如 FireFox 4);
并且表单字段具有属性required='required'
并且表单字段为空/空白;
并点击提交按钮;
浏览器检测到“必填”字段为空,不提交表单;
相反,浏览器会显示一个提示,要求用户在字段中输入文本。

现在,我有一组复选框 ,而不是单个文本字段,其中至少一个应该由用户检查/选择。

如何required在这组复选框上使用 HTML5 属性?(由于只需要检查一个复选框,我不能将required属性放在每个复选框上)

附言。我正在使用simple_form,如果这很重要的话。


更新

HTML 5multiple属性在这里有用吗?有没有人用它来做类似于我的问题的事情?

更新

HTML5 规范似乎 不支持此功能: ISSUE-111: What does input.@required mean for @type
= checkbox?

(问题状态: 问题已被标记为已关闭,不影响。
这里是解释

更新 2

这是一个老问题,但想澄清这个问题的初衷是能够在不使用 Javascript 的情况下完成上述操作 - 即使用 HTML5
方式来完成。回想起来,我应该让“没有 Javascript”更明显。


阅读 107

收藏
2022-06-27

共1个答案

小编典典

不幸的是,HTML5 没有提供开箱即用的方法来做到这一点。

但是,使用 jQuery,您可以轻松控制复选框组是否具有至少一个选中元素。

考虑以下 DOM 片段:

<div class="checkbox-group required">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
    <input type="checkbox" name="checkbox_name[]">
</div>

你可以使用这个表达式:

$('div.checkbox-group.required :checkbox:checked').length > 0

true如果至少检查了一个元素,则返回。基于此,您可以实施验证检查。

2022-06-27