2014-09-01 75 views
0

我有jQuery中以下验证脚本: http://jsfiddle.net/0ybrx00q/脚本适用于的jsfiddle但不能在现场

$("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

你得到什么错误? 你采取了jquery文件的参考? – 2014-09-01 08:29:49

+0

您是否已验证此脚本是否在任何其他相关脚本之前加载? – sri 2014-09-01 08:30:13

+1

是你的代码里面准备好处理程序? – 2014-09-01 08:30:31

回答

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; 
     } 
    }); 
}); 
+0

OP在问题的评论中指出,他们已经这样做了。 – Quentin 2014-09-01 08:32:36

+0

感谢@Quentin - 他在发布之后发布了这个消息。我现在就把它留在这里,如果没有帮助,将它删除。 – Archer 2014-09-01 08:35:35

+0

实际上,现在它工作。出于某种原因,$(function)(){...}起作用,但$(document).ready(function(){...} does not.Is there are difference between both ready handlers? – teair 2014-09-01 08:38:47

相关问题