Javascript 字段为空时阻止提交并显示错误消息
我的网站上有很多不同的表格。我想使用Jquery来:Javascript 字段为空时阻止提交并显示错误消息,javascript,jquery,forms,Javascript,Jquery,Forms,我的网站上有很多不同的表格。我想使用Jquery来: 如果任何文本字段为空,则显示错误消息 用CSS突出空白字段 在用户填写表单之前,禁止提交表单 所有不同的表单都链接到同一个Jquery脚本,因此我必须确保我的Jquery没有对特定表单进行任何引用(否则,我必须为每个表单编写不同的脚本) 我认为最好的方法是循环输入字段,检查它们是否为空,然后使用停止表单提交并突出显示字段 每个函数都可以工作,但preventdefault/addclass似乎不能工作。我不确定我做错了什么。这是我的代码:
- 如果任何文本字段为空,则显示错误消息
- 用CSS 突出空白字段
- 在用户填写表单之前,禁止提交表单李>
我怎样才能让它工作?还可以将错误类应用于输入字段的父
标记,而不是字段本身吗?事件
未定义。捕获submit回调中的参数,并对其调用preventDefault:
$(document).ready(function () {
$('.names').submit(function (e) {
$(this).find('input[type=text]').each(function (n, element) {
if ($(element).val() == '') {
e.preventDefault();
alert('Some fields are blank (highlighted in red). Please fill them in');
$(element).parent().addClass("error");
return false;
}
});
return true;
});
});
请注意:
($element)
也是未定义的,您的意思是$(element)
$(element).parent()
$(this.find('input[…])
而不是$('.names input[…])
。这样,您只需验证您提交的表单您可以执行以下
if(!$(element).val(){
这将检查是否有空的value@alexn除了它只高亮显示第一个空白字段外,其他都可以。是否可以高亮显示所有空白字段?我想我可以通过将addClass下移并更改选择器使其工作(请参见:),但当我这样做时,什么都不会突出显示!@alexn研究之后,我认为我需要使用filter();突出显示所有的空字段()。我已经尝试过了,但我不能完全让它工作:。我很感激任何指针!谢谢!你所做的几乎所有事情都可以用jQuery.validate插件完成。为什么要重新发明轮子?
$(document).ready(function () {
$('.names').submit(function (e) {
$(this).find('input[type=text]').each(function (n, element) {
if ($(element).val() == '') {
e.preventDefault();
alert('Some fields are blank (highlighted in red). Please fill them in');
$(element).parent().addClass("error");
return false;
}
});
return true;
});
});