我在jquery中具有以下验证脚本:
http://jsfiddle.net/0ybrx00q/
$("form").submit(function (event) {
if ($.isNumeric($("input[name=commodity]").val()) === false) {
$(".error_show").text("kosten müssen Zahl sein!").show();
event.preventDefault();
} else if ($("input[name=plz]").val().length != 5) {
$(".error_show").text("PLZ muss aus 5 Zeichen bestehen!").show();
event.preventDefault();
} else if ($.isNumeric($("input[name=leistung]").val()) === false) {
$(".error_show").text("Leistung muss Zahl sein!").show();
event.preventDefault();
} else if ($("input[name=nb]").val() === "") {
$(".error_show").text("Kein angebot!").show();
event.preventDefault();
} else {
$(".error_show").text("Validated...").show();
return;
}
});
在我将脚本保存到的外部文件中,还有另一个起作用的功能。但是,我无法使用以上脚本来验证表单,因为即使我将所有内容保留为空,也可以按提交按钮。event.preventDefault ()在该处不起作用,也没有“ Validated ...”消息(因此该脚本将被忽略)。
我有什么想念的吗?因为它是完全相同的代码,所以我似乎找不到任何问题。
最佳答案
将其包装在document.ready处理程序中-jsfiddle会自动为您执行此操作...
$(function() {
$("form").submit(function (event) {
if ($.isNumeric($("input[name=commodity]").val()) === false) {
$(".error_show").text("kosten müssen Zahl sein!").show();
event.preventDefault();
} else if ($("input[name=plz]").val().length != 5) {
$(".error_show").text("PLZ muss aus 5 Zeichen bestehen!").show();
event.preventDefault();
} else if ($.isNumeric($("input[name=leistung]").val()) === false) {
$(".error_show").text("Leistung muss Zahl sein!").show();
event.preventDefault();
} else if ($("input[name=nb]").val() === "") {
$(".error_show").text("Kein angebot!").show();
event.preventDefault();
} else {
$(".error_show").text("Validated...").show();
return;
}
});
});