我在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;
        }
    });
});

09-17 16:10
查看更多