我在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 ...”消息(因此只是忽略了脚本)。
我有什么遗漏吗?我似乎找不到任何问题,因为它是完全相同的代码。
答案 0 :(得分:3)
将它包装在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;
}
});
});