4

为什么这不起作用?

var me = $('#'+id);
var content = $(me).find('input').val().serialize();

我明白了TypeError: $(me).find("input").val().serialize is not a function

4

3 回答 3

11

因为$(me).find('input').val()是字符串而不是 jQuery 对象,所以它没有序列化功能。

如果要序列化输入(及其值),请使用$(me).find('input').serialize();

但一定要真正需要它:这个函数很少对一个输入有用(我们通常将它用于表单)。如果您只想要该值,请使用$(me).find('input').val(),如果您正在调试并想要检查元素,请使用console.log($(me))并打开浏览器的控制台。

于 2012-10-10T09:20:24.280 回答
5

您可以.serialize()直接在表单上使用。您可以按如下方式序列化表格

var serializeData = $('form').serialize();
于 2012-10-10T09:26:34.343 回答
0

我试图序列化选择的表单,querySelector这给了我错误,但是在通过 jQuery 选择表单后let form = $('form');修复了这个

于 2022-01-13T09:00:33.037 回答