event.preventDefault()并返回false;我失败了

时间:2013-01-18 09:09:32

标签: jquery ajax forms

我觉得我现在太累了,但为什么这不起作用? 得到一个id =“contact”的简单表单

   $("#contact").on('submit', function(event) {
       event.preventDefault();

       var name = $('#name').serialize();
       var email = $('#email').serialize();
       var message = $('#message').serialize();
       alert(name);

        }); 
    });

(我删除了后面的AJAX) 为什么'窗户不能刷新?返回false;也没做任何事...... 我可能错过了一些明显的东西

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

$(document).on('submit', "#contact", function(event) {
   event.preventDefault();

   var name = $('#name').serialize();
   var email = $('#email').serialize();
   var message = $('#message').serialize();
   alert(name);
   return true; 
});

答案 1 :(得分:0)

第一点:

  • 您应该使用.val()而不是serialize()。
  • .serialize()是一个适用于该元素的方法,此方法返回如下字符串:field1 = value1& field2 = value2& ...& fieldn = valuen

一个例子:

$("#contact").submit(function(event) {
    event.preventDefault();
    var name = $('#name').val(),
        email = $('#email').val(),
        message = $('#message').val();

    alert(name);
    return false; // "Defensive" line (i think it's not necessary)
});

我希望它会有所帮助!