得到形式&来自input元素的FormData对象?

时间:2015-01-01 22:04:24

标签: javascript jquery html ajax forms

所以我想在每次表单“提交”时触发Javascript函数。单击输入,因此我可以在Javascript中处理提交。

我有以下内容:

$(':submit').click(function(){
    var currentForm = $(this)[0].form;
    event.preventDefault(); //Stop default form submission
    var formData = new FormData(currentForm);

    $.ajax({/*Handle form submission here*/});
});

我尝试了一些不同的变体来获取currentForm,但由于某种原因,它总是未定义的?

这不是获取form对象然后在Javascript中将其转换为FormData对象的正确方法吗?我已经在How to get the form parent of an input?上尝试了几种解决方案,但都没有。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您需要传递event

$(':submit').click(function(event){
   var currentForm = $('form')[0];
   event.preventDefault(); //Stop default form submission
   var formData = new FormData(currentForm);

   $.ajax({/*Handle form submission here*/});
});

<强>更新

所以看来$('form')返回一个jQuery对象,但是需要将一个HTML元素传递给FormData. [0]。它与调用$('form').get(0)相同。所以请使用$('form')[0]