【问题标题】:How to display unique success messages on jquery form validation如何在 jquery 表单验证上显示唯一的成功消息
【发布时间】:2010-05-14 03:31:41
【问题描述】:

希望你能帮我解决这个问题,我目前正在使用这个:

jQuery plugin:validation (Homepage)

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

来自插件的文档 httx://docs.jquery.com/Plugins/Validation/validate#toption

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

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

例如: 用户名字段将显示成功消息:“用户名OK!”
email = '电子邮件似乎正确'

类似的东西,而不是在所有字段上只显示一个通用的成功消息。

编辑:

到目前为止我只尝试过这个:

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

编辑 只是想编辑,我想要的是一种访问输入元素并可能访问其属性的方法,以使用它显示在 label.text 上。例如 label.text(element.attr("title"); 之类的东西。

【问题讨论】:

  • 到目前为止我只试过这个: },

标签: jquery validation jquery-plugins jquery-validate


【解决方案1】:

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

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 或使用元数据)。确保它处于一致的位置(这样您就可以遍历它对于所有字段都是相同的)并相应地更新标签消息?

【讨论】:

  • 是否可以访问输入元素而不是标签?据我了解标签是动态制作的,我正在考虑将唯一消息存储在输入元素标题属性上,例如
  • 没关系,我尝试了您的建议,它奏效了,我之前尝试过,我只是不明白为什么它第一次不起作用,我在从对象标签遍历 DOM 时遇到问题。 ,无论如何这是我的代码:errorElement:“em”,成功:function(label){label.text(label.prevAll('label').text()+“Ok!”).removeClass(“error”).addClass (“成功”); }
  • 是的!自定义 HTML 属性似乎是解决此问题的最佳方式。否则 jQuery 可能会被污染得令人作呕。
【解决方案2】:

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

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");
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 2018-01-27
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多