代码之家  ›  专栏  ›  技术社区  ›  chriz

如何在jquery表单验证中显示唯一的成功消息

  •  2
  • chriz  · 技术社区  · 15 年前

    希望您能在这方面帮助我,我目前正在使用:

    jQuery plugin:validation (Homepage)

    我一直在读相关的问题,但这是最接近的答案。 httx://stackoverflow.com/questions/1863448/jquery-validation-on-success

    从插件的文档 httx://docs.jquery.com/plugins/validation/validate_topion

    成功 字符串,回调
    如果指定,将显示错误标签以显示有效元素。如果给定了字符串,则将其作为类添加到标签中。如果给定了函数,则使用标签(作为jquery对象)作为其唯一参数来调用它。可用于添加“确定”之类的文本。.

    目前我唯一的对象是给我的标签,我只能给它添加文本。现在我想要的是拥有独特的成功信息。

    例如: 用户名字段将显示一条成功消息:“用户名好!”
    email='电子邮件似乎是对的'

    这些行中的一些内容,而不是在所有字段上只显示一条一般的成功消息。

    编辑:

    到目前为止我只试过:

    success: function(label) {
        label.text("Ok!").removeClass("error").addClass("success");
        },
    

    编辑 只想编辑,我想要的是一种访问输入元素并可能访问其属性的方法,使用它来显示在label.text上。比如label.text(element.attr(“title”)。

    2 回复  |  直到 15 年前
        1
  •  3
  •   zen.c    15 年前

    我能想到的最简单的就是:

    jQuery(function($) {
        $('form').validate({
            success: function(label) {
                var name = label.attr('for');
                label.text(name+ ' is ok!');
            }
        });
    });
    
    <form action="" method="post">
        <input name="username" class="required" type="text" />
        <input type="submit" />
    </form>
    

    如果您想要更多的唯一消息,也许您可以将消息存储在某个地方(一个附加的隐藏字段,或者附加的DOM,或者使用元数据)。确保它在一个一致的位置(这样您就可以遍历所有字段的位置相同),并相应地更新标签消息?

        2
  •  0
  •   mdgrech    14 年前

    这里值得一提的是我用来显示一条独特的随机成功消息的代码。

    success: function(label) {
            var messages = new Array(
                "Looks good!",
                "You got it!",
                "Ok!"
            );
    
            var num = Math.floor(Math.random()*3); 
    
            label.text(messages[num]).addClass("success");
        }