0

我有一个文本框,它位于三行三列表的中间。“外部”表格单元用于为文本框添加一些装饰。当输入到文本框的数据无效时,文本框的颜色会发生变化,周围的图像也会发生变化。这就是我的问题所在。在登录页面上有用户名文本框和密码文本框。如果我点击提交而他们都没有填写 texbox 的颜色会发生变化,因为需要显示该字段的图像。我的问题是,当用户输入一些文本时,如何让它们恢复正常?我可以编写自己的 javascript 来处理这个问题,但我正在尝试使用 jQuery 来验证,就像应用程序的其余部分一样。有任何想法吗?

这是我现在的工作:

        $.APP.login = $("#logOnDiv > form").validate({
        errorPlacement: function (error, element) {
            element.parents('table').removeClass('input-table');
            element.parents('table').addClass('invalid-input-table');
        },
        errorClass: "invalid-decorated-input"
    });
4

1 回答 1

0

收听文本框本身上的事件,例如keypress. 假设每个文本框都有一个名为isValidated...

$('.isValidated').keypress(function() {
  if($(this).val().length) { //we have text now
    $(this).parents('table.invalid-input-table').removeClass('invalid-input-table');
    //put any other code to remove other html elements (like the images here)
    //traversal would be from the text box, so you could do things like $(this).siblings('img').remove(), etc.
  }
});

通过使用事件并将无效类添加到文本框本身,有更有效的方法来做到这一点live,但这应该就足够了,除非您正在谈论大量的字段。

于 2011-08-08T18:33:11.553 回答