Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击并取消单击时验证多个选择器_Javascript_Jquery - Fatal编程技术网

Javascript 单击并取消单击时验证多个选择器

Javascript 单击并取消单击时验证多个选择器,javascript,jquery,Javascript,Jquery,现在这只适用于昵称选择器,这是检查所有选择器而不复制粘贴相同功能的最简单方法 比如说 blur/focusfunction{if昵称| |电子邮件| |密码

现在这只适用于昵称选择器,这是检查所有选择器而不复制粘贴相同功能的最简单方法

比如说

blur/focusfunction{if昵称| |电子邮件| |密码<0 error.html'error'}

当我输入这个问题时,我得到的想法是,最好的方法是复制这个函数,因为如果值为空,我想显示错误


但是我喜欢听专业人士的意见,我相信会有一个很好的方法做到这一点。

您可以在一个选择器中锁定所有目标,如下所示:

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');
});