基础Abide刷新页面,即使我返回false

时间:2013-12-29 13:17:46

标签: javascript jquery ajax forms zurb-foundation

这是破坏我的头脑!所以,首先,我想说我爱基金会!但是我对Abide和表单提交有问题。这是我的联系表格的代码

 $("#myForm").on('valid', function(e){
           e.preventDefault();
         var name = $("input#name").val();
         var email = $("input#email").val();
         var msg = $("textarea#message").val();

         var dataString = 'name=' + name +
         '&email=' + email +
         '&msg=' + msg;

         $.ajax({
            type:"POST",
            url:"php/mail.php",
            data: dataString,
            success: function(){
               $(".contactform").html("<div id = 'thanks'></div>");
            $('#thanks').html("<h2>Thanks</h2>")
               .append("<p> Dear " + name + " I will contact you soon </p>")
               .hide()
               .fadeIn(1500);
         }
         });
    return false;
      });

我使用了在线视频教程。问题是,当我点击提交时,它会刷新页面,即使我在那里包含了返回false。但是在这里它变得奇怪......如果我从我的页面中取出Jquery,联系表单脚本可以正常工作,但是,我需要在页面中插件的Jquery功能。我也去了github,并在页面上修复了abide文件,但仍然没有运气。如果你想看看我的页面,有一些上下文,它在这里

www.siddigzeidan.com/app

提前非常感谢你!

1 个答案:

答案 0 :(得分:3)

您的代码中的问题是,您正在对 #myForm 有效事件做出反应,而不是对提交事件做出反应。如果你看一下 foundation.abide.js ,你会明白我的意思。

要解决您的问题,您必须将代码移至提交事件:

<强>错误:

$("#myForm").on('valid', function(e){

从右:

$("#myForm").on('submit', function(e){

还有一个很好的提示,在github上同时匹配所有三个事件有效无效提交

$("#myForm").on("valid invalid submit", function(e){
    e.stopPropagation();
    e.preventDefault();
    if(e.type === "valid"){
        // AJAX call
    }
});