希望你能帮我解决这个问题,我现在正在使用它:
jQuery plugin:validation (Homepage)
我一直在这里阅读相关问题,但这是最接近的问题。 httx://stackoverflow.com/questions/1863448/jquery-validation-on-success
来自插件的文档 httx://docs.jquery.com/Plugins/Validation/validate#toption
成功 字符串,回拨
如果指定,则显示错误标签以显示有效元素。如果给出了String,则将其作为类添加到标签中。如果给出了一个Function,则使用标签(作为jQuery对象)作为其唯一参数进行调用。这可以用来添加像“ok!”这样的文本。
目前我只是给我的对象是标签,我只能添加文字。现在我想要的是拥有独特的成功信息。
例如:
username字段将有一条成功消息:'username okay!'
email ='email似乎正确'
沿着这些方向的东西,而不是在所有字段上只显示一条通用成功消息。
编辑:
到目前为止我只尝试过这个:
success: function(label) {
label.text("Ok!").removeClass("error").addClass("success");
},
EDIT 只是想编辑,我想要的是一种访问输入元素并可能访问其属性的方法,用它来显示在label.text上。像label.text(element.attr(“title”);例如。
答案 0 :(得分:3)
我能想到的最简单的就是这样:
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,或使用元数据)。确保它处于一致的位置(因此您可以遍历它对所有字段都相同)并相应地更新标签消息?
答案 1 :(得分:0)
对于什么,这里值得的是我用来显示唯一随机成功消息的代码。
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");
}