【发布时间】:2015-08-27 20:57:06
【问题描述】:
对 jQuery 来说非常新。尝试使用 jQuery Validate 插件。在输入我从插件文档、这里的几篇文章、其他网站和视频中一起“弗兰肯斯坦”的代码后,我无法提交这个。 JSHint 显示 5 个错误,从 submitHandler 行开始。
它实际上破坏了我的页面布局,所以我一定把它搞砸了。我确实正确链接了所有依赖库(spinJS、jQuery、jQuery Forms、),因为 jQuery 的其余部分都可以工作。 “工作”是指表单将提交到邮件脚本并发送电子邮件。
输入验证代码页面后,提交时会刷新。 我能够看到“请输入您的名字”等 errorContainer 覆盖,但表单不会提交,但页面完好无损。我添加了一个 submitHandler 并破坏了整个事情。隐藏的、堆叠的 div 是可见的。
表单提交 DID 在添加验证代码之前工作。
我很肯定自始至终都存在错误。这看起来像我需要的吗?任何方向将不胜感激。
***此代码有效:
<script type="text/javascript">
$(document).ready(function(){
$('#submit').click(function(){
$( '#submit' ).prop( "disabled", true );
$('#spinz').spin('daycare','red');
$.post("php/mailer.php", $("#contactInput").serialize(), function(response) {
$('#spinz').spin(false);
$("#contact").hide();
$("#8Btn").css("color", "#BCDF62");
$("#confirm").show("slide");
});
return false;
});
});
</script>
**这不是
<script type="text/javascript">
$(document).ready(function(){
$("div .contentBox").hide(); // hides all content divs w/class=contentBox
$("#homePage").show("slide"); // animates home page loading
$(".linkButtons").css("color", "white"); // turns all link text to white (not selected)
$("#1Btn").addClass("menuLit");
$("#1Btn").css("color", "#BCDF62");
$("#submit").prop( "disabled", false );
/*Validation Code*/
$(function(){
$('#contactInput').validate({
rules: {
fNameInput: "required",
lNameInput: "required",
pNumber: "required",
email: "required",
msgArea: "required"
},
messages: {
fNameInput: "Please enter your first name.",
lNameInput: "Please enter your last name.",
pNumber: "Please enter your phone number.",
email: "Please enter your email address.",
msgArea: "Please type a message."
},
errorContainer: $('#errorContainer'),
errorLabelContainer: $('#errorContainer ul'),
wrapper: 'li'
});
submitHandler: function(form) {
$('#submit').prop( "disabled", true );
$('#spinz').spin('daycare','red');
$.post("php/mailer.php", $("#contactInput").serialize(),
function(response) {
$('#spinz').spin(false);
$("#contact").hide();
$("#8Btn").css("color", "#BCDF62");
$("#confirm").show("slide");
}
});
<script/>
【问题讨论】:
-
我知道您是新手,但学习如何正确缩进/格式化代码将使您和我们更容易阅读和排除故障。你检查过你的控制台是否有 JavaScript 错误吗?
标签: jquery ajax jquery-validate