对于单选按钮:
$(document).ready(function() {
$('#select-number').click(function() {
if ($('input:radio', this).is(':checked')) {
return true;
} else {
alert('Please select something!');
return false;
}
});
});
没有选择单选按钮时工作正常。但是,当我选择单选按钮并提交表单时,它也会向我发出警告消息'Please select something!'
是否有可用Jquery
newbie
进行验证的好教程。
答案 0 :(得分:1)
看起来您正在附加click
按钮的submit
事件( 元素内部没有输入)。而是附加到表单的submit
事件:
$(document).ready(function() {
$('#formID').submit(function() {
if ($('input:radio', this).is(':checked')) {
return true;
} else {
alert('Please select something!');
return false;
}
});
});
这样可以捕获<form>
可能提交的所有方式,并在正确的位置查找input:radio
按钮。您还可以进一步缩短/简化它:
$(function() {
$('#formID').submit(function() {
if ($(this).find('input:radio:checked').length == 0) {
alert('Please select something!');
return false;
}
});
});
答案 1 :(得分:1)
我认为这是因为您没有看到是否检查了单个收音机,而是检查是否所有收音机都已检查
if ($(this).find("input:radio:checked").length > 0) {
return true;
}
else {
alert('Please select something!');
return false;
}
答案 2 :(得分:0)
jQuery validation插件非常好用且易于上手。如果你是jQuery的新手,你可能最好不要试用插件并专注于其他基础知识。您可以随时找出一些验证,但这可以让您像专业人士一样快速验证(客户端)。
答案 3 :(得分:0)
我认为这是因为将'this'作为第二个参数传递给$('input:radio')函数,因为将此传递给调用会使jQuery在此上下文中进行搜索(我假设是提交按钮)。 试试这个......
$(document).ready
(
function()
{
$('#select-number').click
(
function()
{
if ($('input:radio').is(':checked'))
{
return true;
}
else
{
alert('Please select something!');
return false;
}
}
);
}
);
答案 4 :(得分:0)