0

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

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

<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

3 回答 3

1

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

于 2012-08-24T04:20:44.170 回答
0

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

话虽如此,我不确定你在期待什么,因为它对我有用。在此处检查 jsFiddle 。我稍微修改了你的代码。

于 2012-08-24T04:07:03.690 回答
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/

于 2012-08-24T04:21:51.053 回答