如何检查是否使用 JavaScript 选择了单选按钮?

2022-08-29 23:57:59

我在HTML表单中有两个单选按钮。当其中一个字段为 null 时,将出现一个对话框。如何检查是否选择了单选按钮?


答案 1

让我们假设你有这样的HTML

<input type="radio" name="gender" id="gender_Male" value="Male" />
<input type="radio" name="gender" id="gender_Female" value="Female" />

对于客户端验证,这里有一些Javascript来检查选择了哪一个:

if(document.getElementById('gender_Male').checked) {
  //Male radio button is checked
}else if(document.getElementById('gender_Female').checked) {
  //Female radio button is checked
}

根据标记的确切性质,上述内容可能会更有效,但这应该足以让您入门。


如果你只是想看看页面上的任何地方是否选择了任何单选按钮,PrototypeJS使它变得非常容易。

下面是一个函数,如果页面上的某个位置至少选择了一个单选按钮,则该函数将返回 true。同样,这可能需要根据您的特定HTML进行调整。

function atLeastOneRadio() {
    return ($('input[type=radio]:checked').size() > 0);
}

对于服务器端验证(请记住,您不能完全依赖Javascript进行验证!),这取决于您选择的语言,但您只需要检查请求字符串的值。gender


答案 2

使用jQuery,它会像这样

if ($('input[name=gender]:checked').length > 0) {
    // do something here
}

让我把它分解成碎片,以便更清楚地涵盖它。jQuery从左到右处理事情。

input[name=gender]:checked
  1. 输入将其限制为输入标记。
  2. [name=gender] 将其限制为前一组中名称为 gender 的标记。
  3. :选中将其限制为在上一个组中选择的复选框/单选按钮。

如果要完全避免这种情况,请在 HTML 代码中将其中一个单选按钮标记为选中 (),这将保证始终选中一个单选按钮。checked="checked"