jquery验证 - 如果未选择单选按钮则出错

时间:2012-02-28 02:24:28

标签: jquery jquery-validate

我有2个单选按钮用于出席。 '是'和'不'。如果两者都没有被选中并且单击了提交按钮,我想要一个错误。

我试过了

if (!$("input[name=attendance1]:checked").val()) {
    alert('Nothing is checked!');
}

但错误仅在我登录时显示,而不是在提交按钮上单击

3 个答案:

答案 0 :(得分:4)

对于<form>元素,您可以执行此操作。如果您使用$.ajax从JavaScript提交,请尝试使用icyrock的答案。

$("#myForm").submit(function() {
  if (!$("input[name=attendance1]:checked").val()) {
    alert('Nothing is checked!');
    return false;
  }
});

答案 1 :(得分:4)

您不能只希望将代码放到页面上并让它工作;)。将验证函数附加到表单的submitjQuery事件:

$('#formID').submit(function() {
    if (!$("input[name=attendance1]:checked").val()) {
        alert('Nothing is checked!');
        return false; // so form doesn't submit
    }
});

答案 2 :(得分:1)

使用beforeSend - 来自文档:

你有这个:

  

beforeSend(jqXHR,设置)功能

     

一个预请求回调函数,可用于在发送之前修改jqXHR(在jQuery 1.4.x,XMLHTTPRequest)对象中。使用它来设置自定义标题等.jqXHR和设置映射作为参数传递。这是一个Ajax事件。在beforeSend函数中返回false将取消请求。从jQuery 1.5开始,无论请求的类型如何,都将调用beforeSend选项。

因此,基本上您可以在beforeSend然后return false提醒您中止提交。

这是一个展示您需要的部分的工作示例:

希望这有帮助。