使用jquery输入字段验证

时间:2012-08-24 03:51:14

标签: jquery

如果匹配电子邮件和密码条件,我会在输入字段中添加“有效”类。我希望启用一个提交按钮,如果两个字段都有一个有效的类,一旦添加了类有效,即使输入的输入被完全删除,它也会保留在那里。

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

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

4 个答案:

答案 0 :(得分:1)

一旦计数为空,您需要减少计数,还需要限制输入字段数内的计数。看看这个jsFiddle

答案 1 :(得分:0)

示例未完整,因为存在对C.options.currentPage的引用,并且count未定义。

话虽如此,我不确定你期待的是什么,因为它对我有用。检查jsFiddle here。我已经修改了你的代码。

答案 2 :(得分:0)

只需检查每个keyup事件。并使用toggleClass() ..因为它允许传入条件..所以如果为true则添加类..如果为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
});​

http://jsfiddle.net/nxLeJ/3/

答案 3 :(得分:0)

此问题中提到的解决方案很有助于解决此问题。 jQuery disable button (NOT Submit) until field validates + Validation Plugin