在使用jquery验证电子邮件之后添加一个类
adding a class after email is validated using jquery
我正试图在表单字段中使用jQuery进行电子邮件验证
$(document).ready(function() {
var email = new RegExp("[a-z0-9._%+-]+@[a-z0-9.-]+'.[a-z]{2,4}$");
var value = $("#email_address").val();
$("#email_address").on("keypress", function() {
if(email.test(value)) {
$("#email_address").parent().addClass("has-success");
}
});
});
但是,不会添加has-success
类。我在控制台中单独尝试了每一行代码,它们似乎都在做/指向正确的事情。只有当所有的东西放在一起时,它才似乎不起作用。
您在jQuery的DOM ready上加载该值,然后再也不加载它。
您需要测试当前值,而不是DOM准备好时的值,大致如下:
$("#email_address").on("keypress", function() {
if(email.test($(this).val())) {
$("#email_address").parent().addClass("has-success");
}
});
无关,但就我个人而言,我会将电子邮件测试封装在一个函数中,这样你就可以像validEmail(xxx)
等一样更自然地阅读email.test(xxx)
。
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击更改图标并通过javascript添加一个css类
- fluxxor向一个flux实例添加一组以上的操作
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- angularjs移除焦点上的活动类并添加到下一个项目
- 使用jquery contains获取一个元素并添加类
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 单击删除其中一个添加的行
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 我想创建一个添加新表单的按钮
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- GWT SimplePager -为每个下一个和上一个添加历史记录
- 自动提交表单上的最大长度,-为现有的一个添加java脚本代码
- 如何在jquery中移除一个添加了类的类
- 动态更改URL,而不需要将前一个添加到历史堆栈