从输入元素获取表单和表单数据对象

Get form & FormData objects from input element?

本文关键字:表单 对象 数据 获取 输入 元素      更新时间:2023-09-26

所以我想在每次单击表单"提交"输入时触发一个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*/});
});

我已经尝试了几种不同的变体来获取当前表单,但由于某种原因它总是未定义的?

这不是在 Javascript 中获取form对象然后将其转换为FormData对象的正确方法吗?我已经尝试了几种关于如何获取输入的表单父级的解决方案?,但没有一个有效。

有什么想法吗?

你需要

通过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]