在我的表单中,我使用jQuery Validate进行验证。完成验证后,应使用jQuery Notification插件显示成功消息。我的验证码是
$("#validateForm").validate(
{
debug: false,
rules:
{
firstname: {
required: true,
lettersonly: true
},
lastname: {
required: true,
lettersonly: true
}
},
messages: {
firstname: {
required: "Please enter your firstname"
},
lastname: {
required: "Please enter your lastname"
}
},
submitHandler : function(msg){
showNotification({
message: "hi",
type: "success",
autoClose: true,
duration: 5
});
},
});
验证后显示通知消息并消失一些间隔。我使用的是这个插件http://demos.9lessons.info/jnotification/?type=error&message=This%20is%20sample%20PHP%20get%20parameters%20reading%20notification
验证字段后,表单未显示通知消息。 showNotification()
功能不起作用。如何在submitHandler()
?
答案 0 :(得分:0)
我不知道你在哪里获得了Show Notification插件,因为the page没有任何下载链接;它似乎还有很多年,因为它使用的是jQuery 1.4。我甚至无法设置正确的演示,因为您没有费心向我们展示相关的HTML。
但是,您向我们展示的jQuery Validate代码绝对没有错。
引用OP:
“验证字段后,表单未显示通知消息。
showNotification()
功能无法正常工作。如何在submitHandler()
内插入通知功能?” < / p>
我认为你可能会误解submitHandler
函数的工作原理。它仅在您单击提交按钮时触发,然后在所有字段均有效时触发。在单独验证每个字段后,它不会触发。
否则,请编辑您的问题以包含表单的相关HTML标记。
我发现您已将form
参数重命名为msg
submitHandler
函数。重命名它不会破坏它,但它表明你完全误解它代表什么。插件开发人员提供了form
参数作为表单对象的表示。您可以随意重命名,但它始终代表表单对象。
submitHandler: function(form) { ...
修改强>:
正如所怀疑的那样,showNotification
插件已经过时了。在下面的jsFiddle中,您可以看到绿色通知栏闪烁,然后控制台错误告诉您.live()
(showNotification
插件内)是未定义的函数。 (自{jQuery 1.7以来,.live()
已被弃用,自jQuery 1.9以来已被删除)
DEMO 1:http://jsfiddle.net/9qenjr42/
降级到jQuery v1.8.3会显示您的代码有效:http://jsfiddle.net/9qenjr42/2/
但是,我不建议降级jQuery只是为了使用旧的插件。以下是一些建议......