所以我想在每次表单“提交”时触发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?上尝试了几种解决方案,但都没有。
有什么想法吗?
答案 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]