从jQuery提交表单时提交的jQuery event.preventDefault()

时间:2014-05-07 02:29:43

标签: jquery ajax forms

我正在构建一个PHP,AJAX驱动的评论表单。

我在表单提交时将表单设置为preventDefault();

$(document).on("submit", "form.comments", function() {
  event.preventDefault();
  //AJAX to submit form
});

这很好用。

我刚刚点击回车时添加了另一个提交表单的函数:

$(document).on("keydown", "textarea[name='comment']", function(e) {
  if(e.keyCode == 13) {
    $(this).closest("form.comments").submit();
  }
});

当我按Enter键时,它会提交表单,但第一个阻止提交并使用AJAX提交的函数不会启动。

我知道我可以在功能中添加AJAX来检测输入键,但我真的不想这样做。有什么方法可以让当前的方法起作用吗?

1 个答案:

答案 0 :(得分:0)

在某些浏览器( Firefox )中,事件对象不会暴露给窗口对象,这可能就是原因。

试试这个:

$(document).on("submit", "form.comments", function(e) {
  e.preventDefault();
  //AJAX to submit form
})