从输入元素获取表单和 FormData 对象?
Get form & FormData objects from input element?
所以我想在每次单击表单 'submit' 输入时触发 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? 上尝试了几种解决方案,但都没有用。
有什么想法吗?
你需要通过 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')
returns 一个 jQuery 对象,但是 HTML 元素需要传递给 FormData.
[0]
确实那。和调用$('form').get(0)
是一样的。所以使用 $('form')[0]
所以我想在每次单击表单 'submit' 输入时触发 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? 上尝试了几种解决方案,但都没有用。
有什么想法吗?
你需要通过 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')
returns 一个 jQuery 对象,但是 HTML 元素需要传递给 FormData.
[0]
确实那。和调用$('form').get(0)
是一样的。所以使用 $('form')[0]