2012-08-24 257 views
0

如果输入字段与电子邮件和密码条件匹配,我将向该字段添加“有效”类。我想启用一个提交按钮,如果两个字段都有一个有效的类,一旦有效的类被添加,它仍然在那里,即使输入的输入被完全删除。使用jquery输入字段验证

要解决这个问题,我必须删除有效的类或增加计数器时,该字段不为空。我正在尝试第二种情况,我正在检查该类是否存在,以及该字段是否为空。我没有收到预期的效果用下面的代码:为有一个C.options.currentPage参考和count未定义

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

您是否看过输入属性的html5语法?看到这个http://www.the-art-of-web.com/html/html5-form-validation/ – nikhil

回答

1

您需要在计数器为空时递减计数,您还需要限制输入字段数内的计数。看看这个jsFiddle

0

的例子是不完整的。

就这样说,我不确定你期待什么,因为它适合我。检查jsFiddle here。我修改了一下你的代码。

0

只需检查每个关键事件。并使用toggleClass() ..因为它允许在传递一个条件..所以如果真的把它添加类..如果虚假它消除类

$('.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/

+0

看起来像这样的作品,让我执行并确认。 – neelmeg