我有2个单选按钮用于出席。 '是'和'不'。如果两者都没有被选中并且单击了提交按钮,我想要一个错误。
我试过了
if (!$("input[name=attendance1]:checked").val()) {
alert('Nothing is checked!');
}
但错误仅在我登录时显示,而不是在提交按钮上单击
答案 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
提醒您中止提交。
这是一个展示您需要的部分的工作示例:
希望这有帮助。