Javascript 单击并取消单击时验证多个选择器
现在这只适用于昵称选择器,这是检查所有选择器而不复制粘贴相同功能的最简单方法 比如说 blur/focusfunction{if昵称| |电子邮件| |密码<0 error.html'error'} 当我输入这个问题时,我得到的想法是,最好的方法是复制这个函数,因为如果值为空,我想显示错误Javascript 单击并取消单击时验证多个选择器,javascript,jquery,Javascript,Jquery,现在这只适用于昵称选择器,这是检查所有选择器而不复制粘贴相同功能的最简单方法 比如说 blur/focusfunction{if昵称| |电子邮件| |密码
但是我喜欢听专业人士的意见,我相信会有一个很好的方法做到这一点。您可以在一个选择器中锁定所有目标,如下所示:
jQuery(function($){
var nickname = $('#nickname');
var email = $('#email');
var email_match = $('#email_match');
var password = $('#password');
var birthday_day = $('#birthday_day');
var birthday_month = $('#birthday_month');
var birthday_year = $('#birthday_year');
var gender_femal = $('#gender_female');
var gender_femal = $('#gender_male');
var error = $('.error');
nickname.blur( function(){
if (nickname.val() < 1) error.html('error')
});
nickname.click( function(){
if (nickname.val() > 0) error.html('')
});
});
但如果你能用一些常见的东西来识别它们,可能会更容易:
var fields = $('#nickname, #email, #password, ...');
…或:
var fields = $('#some-container :input');
一旦通过某种方式确定了一组所有感兴趣的元素,就可以将事件处理程序一次绑定到所有元素:
var fields = $('.form-fields');
为什么使用昵称.val<1,昵称是否返回数值?为什么不检查昵称.val!=?回答得很好,谢谢!我现在使用的是第三个示例,我需要在输入区域中添加.form字段,比如class=form字段。现在它工作得很好,非常感谢!
fields.blur(function() {
// 'this' will refer to the DOM node blurred, even though fields refers to all of them
var field = $(this);
if(field.val().length == 0)
error.html('error');
});