我的页面中有几个文本输入字段,而且几个单选按钮。现在我需要在客户端验证它们,然后再将它们发送到服务器端(也有服务器端验证)。
我正在使用jquery和javascript验证文本输入,但现在我想知道这是否真的是验证它们的最佳方法?
这对单选按钮有什么作用?
$('form').submit(function() {
validateForm($(this))
return false;
});
function validateForm(form) {
var FirstName=form.find('[name=FirstName]').val();
if (!FirstName) {
alert('Etunimi puuttuu');
return false;
}
}
答案 0 :(得分:1)
如果您只是要确认字段不是空白,那么我会在所有文本字段中添加一个类,如此
<input type="text" id="Firstname" class="validate" />
然后使用Jquery循环遍历.validate
类的所有字段,并检查它们中是否有任何空白。然后,您可以选择警告用户的方式。
$('.validate').each(function(){
if($(this).val().length === 0)
{
alert($(this).attr('id')+ " is blank");
}
});
对于你可以这样检查的单选按钮
if($('#myRadio').not(':checked'))
{
alert('Radio not checked');
}
通过测试:checked
伪选择器
或者类似地将一组复选框分组在一起,方法是指定一个类,然后循环它们以测试至少有一个已被检查过。
答案 1 :(得分:0)
正如其他人已经提到的那样,这个轮子已经被发明用于一个很好的验证工具。您可以下载,试验和学习jQuery validation plugin。
中的文档您在标记内设置规则,然后当您致电validate()
时,它将执行您想要验证的所有内容并适当地提醒用户。如果它不适合您的特定情况,您甚至可以添加自定义验证。
举例说明使用带有单选按钮的jQuery Validate插件是多么容易,see this post.
要验证是否在没有jquery验证的情况下选中单选按钮,以下内容应该有效:
//submit initiated
if ($("[name=paymentMethod]:checked").size() ==0) {
alert("Select an option");
}
看到here。