【发布时间】:2014-10-23 06:35:08
【问题描述】:
我正在对一些表单使用 jQuery 验证。我如何确定在提交表单时是否验证了字段,而不是来自单独的事件,例如按键、模糊等?
例如在this jsFiddle 中,单击提交会在“提交表单”消息之前打印两条“验证:成功”消息。我想停止仅在提交表单时打印“验证:成功”消息。
$("form").validate({
success: function(label, element) {
$(element).next(".help")
.addClass("valid").removeClass("invalid");
},
onkeyup: function(element, event) {
return this.element(element);
},
errorPlacement: function(error, element) {
var help = $(element).next(".help");
if (error.html().length === 0) {
log("Validation: success");
help
.addClass("valid").removeClass("invalid")
.html(originalHelp[element.attr("id")]);
} else {
log("Validation: failure");
help
.addClass("invalid").removeClass("valid")
.html(error.html());
}
},
submitHandler: function(form) {
log("Form submitted");
},
rules: {
firstname: "required",
surname: "required"
}
});
为清晰起见进行了编辑,希望这更有意义。
【问题讨论】:
-
不清楚。添加jsfiddle.net
-
道歉@sabithpocker,添加了小提琴并改写了问题。希望这更清楚一点。
-
如果您想在提交时进行验证,您需要使用像 php、asp 或 java 这样的服务器端语言。
-
目前尚不清楚您要通过此实现什么。如果您只想在表单有效并提交时触发一个事件,那就是
submitHandler。 -
我认为这个可以做到:jsfiddle.net/3csooa8e/11
标签: javascript jquery forms jquery-validate