jQuery .serialize() 不是一个函数。

5
为什么这个不起作用?
var me = $('#'+id);
var content = $(me).find('input').val().serialize();

我遇到了一个错误:TypeError: $(me).find("input").val().serialize is not a function

为什么你要尝试序列化一个字符串值? - Riz
3个回答

11
因为$(me).find('input').val()是一个字符串而不是jQuery对象,所以它没有serialize函数。
如果你想序列化输入(及其值),请使用$(me).find('input').serialize(); 但请务必确实需要它:这个函数通常对于单个输入不太有用(我们通常用它来处理表单)。如果只需要值,请使用$(me).find('input').val(),如果您正在进行调试并希望检查元素,请使用console.log($(me))并打开浏览器的控制台。

5
您可以直接在表单上使用 .serialize() 函数。您可以按照以下方式序列化表单。
var serializeData = $('form').serialize();

@dystroy 谢谢,我之前不知道这个。 - Anoop

0

我试图序列化通过querySelector选择的表单,但是它给了我一个错误,但是通过jQuery选择表单let form = $('form');解决了这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接