0

我陷入了一个非常简单的问题,

我有一个按顺序排列的表格:

  • 电子邮件,
  • pw1,
  • pw2,
  • 用户名(可选)

整个表单使用 .validate() 进行验证,它工作得很好,并显示了很好的错误消息等。

我无法实现的一件事是:我希望用户名文本字段仅在电子邮件、pw 和 pw2 的值有效时显示

我在 div class="reguser" style="display:none;" 中输入了用户名

我尝试了 .valid() 方法,例如:

if ($('#passwort').valid() && $('#passwort2').valid() && $('#email').valid()) {
    $('.reguser').show();
};

这根本不起作用,所有字段都询问 .valid() 现在是否最初用错误消息突出显示,如果它们通过输入有效值而变得有效,.reguser则不会显示

也试图捕捉类有效,但我想我需要在 onfocusout 这样的事件上这样做

if ($('#passwort').hasClass('.valid') && $('#passwort2').hasClass('.valid') && $('#email').hasClass('.valid')) {
    $('.reguser').show();
};

有人给我提示吗?我在互联网上搜索了几个小时,但没有取得进展

4

1 回答 1

1

由于显示用户名字段需要所有必填字段,因此您可以检查整个表单是否有效:

$('#formId :input').on('blur', function(){
    if($('#formId').valid())
    {
        $('.reguser').show();
    }
});

您可以更改blur为您想要的事件。

于 2012-12-26T13:24:09.007 回答