使用jquery进行输入字段验证

使用jquery进行输入字段验证,jquery,Jquery,我正在向输入字段添加一个类“valid”,如果它符合电子邮件和密码标准。我想启用一个提交按钮,如果两个字段都有一个有效的类,那么一旦添加了有效的类,即使输入的输入被完全删除,它也会保留在那里 要解决这个问题,我必须删除有效类,或者在字段不为空时增加计数器。我正在尝试第二种情况,检查类是否有效,字段是否为空。下面的代码没有达到预期效果: <input type="email" name="email" placeholder="Email" class="email required val

我正在向输入字段添加一个类“valid”,如果它符合电子邮件和密码标准。我想启用一个提交按钮,如果两个字段都有一个有效的类,那么一旦添加了有效的类,即使输入的输入被完全删除,它也会保留在那里

要解决这个问题,我必须删除有效类,或者在字段不为空时增加计数器。我正在尝试第二种情况,检查类是否有效,字段是否为空。下面的代码没有达到预期效果:

<input type="email" name="email" placeholder="Email" class="email required valid" id="aim_Email">
<input type="password" name="password" id="aim_Password" placeholder="Password" class="newpassword password required aimError" style="">


$('.required').live('blur', function (value) {
  if ($(this).hasClass('valid') && $(this).val()) {
    count++;
    if (count > 1) {
      alert('event fired');
      $(".submit").removeClass("disabled");
      $(C.options.currentPage).find('input[type="submit"]').removeAttr("disabled");
      $('.passwordHint').hide();
    }
  }
});

$('.required').live('blur',函数(值){
if($(this.hasClass('valid')&&$(this.val()){
计数++;
如果(计数>1){
警报(“触发事件”);
$(“.submit”).removeClass(“禁用”);
$(C.options.currentPage).find('input[type=“submit”]”)。removeAttr(“禁用”);
$('.passwordHint').hide();
}
}
});

该示例不完整,因为有对
C.options的引用。当前页面
计数
未定义


话虽如此,我不确定你期望的是什么,因为这对我来说有点奏效。检查JSFIDLE。我对您的代码做了一些修改。

一旦计数为空,您需要减少计数,还需要将计数限制在输入字段的数量内。查看此

只需查看每个按键事件。并使用。。因为它允许传入一个条件。。因此,如果为真,则会添加类。。如果为false,则删除类

$('.submit').prop('disabled',true); // <-- disable button on load
$('.required').keyup(function() { // <-- bind keyup to both required inputs
    $('.required').each(function(i, v) { // <-- loop through each required field
            $(v).toggleClass('valid',$(v).val().trim().length > 0); // <-- add class if it has text
    }); 
    $('.submit').prop('disabled', $('.valid').length != 2); // button disabled if there's not 2 valid fields
});​

$('.submit').prop('disabled',true);//你见过html5输入属性的语法吗?看到这个了吗