脚本适用于jsfiddle但不适用于站点

时间:2014-09-01 08:27:45

标签: javascript jquery

我在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 ...”消息(因此只是忽略了脚本)。

我有什么遗漏吗?我似乎找不到任何问题,因为它是完全相同的代码。

1 个答案:

答案 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;
        }
    });
});