您好我正在尝试按下提交按钮时显示警告或样式弹出框,其中显示空字段。添加alert("Empty Fields!!");
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
alert("Empty Fields!!");
});
答案 0 :(得分:2)
我发布了这个,在接受了另一个答案之后,为了未来读者的利益,因为其他答案似乎每个都包含一些技术错误并且缺乏解释。
如果只接受.validate()
对形式的预定义选项,则不能简单地将JavaScript插入key:value
。有关所有可用选项,请参阅文档:http://docs.jquery.com/Plugins/Validation/validate#toptions。
如您所见,您需要在其中一个可用的alert("Empty Fields!!");
处理程序中将function
分配到callback
。由于邮件为Empty Fields!!
,因此我会选择invalidHandler
回调选项。 As per the docs,invalidHandler
是:“提交无效表单时自定义代码的回调。”
相反,submitHandler:
是:“表单有效时处理实际提交的回调。”〜由于邮件包含{{1} },你不希望在有效的表格上显示它。
将Empty Fields!!
括在.validate()
函数中以确保在初始化插件时完全构造HTML表单也是一个好主意。
工作演示:http://jsfiddle.net/QYCwH/
document.ready
请注意:在这种情况下,将$(document).ready(function() {
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
invalidHandler: function(form, validator) {
alert("Empty Fields!!");
}
});
});
分配给名为.validate()
的变量没有任何用处。由于validator
只应在上调用一次准备初始化插件,因此您不需要再次引用它,所以拥有它真的没有优势它被分配给变量。
如果您需要触发表单的验证测试或需要表单当前状态的布尔值,只需使用the .valid()
method。
.validate()
或
$("#reg_form").valid(); // triggers a validation check without having to submit
答案 1 :(得分:1)
我假设http://docs.jquery.com/Plugins/Validation/validate是您的代码引用的jQuery插件。
您不能在课堂声明中使用警报。你必须像这样重写它:
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
submitHandler: function( form ) {
alert("Empty Fields!!");
}
});
或使用invalidHandler:function(form,validator)而不是submitHandler
答案 2 :(得分:1)
朋友以供将来参考
validate接受一个json字符串,该字符串格式为{'key1':'value1','key1':'value1'},因此键值和键值对之间必须有一个分号,用逗号分隔,请将其用作键值对,即{'error':function(){alert('hello');}}
答案 3 :(得分:0)
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
error: function(){alert("Empty Fields!!")};
});
只需将error
属性替换为适当的属性...
更新::
刚检查过jQ docs ......
将error
处理程序替换为submitHandler
var validator = $("#reg_form").validate({
errorLabelContainer: $("#reg_form div.error"),
meta: "validate",
submitHandler: function(myForm){alert("Empty Fields!!")};
});