1

为什么 jQuery 序列化返回一个空值?

这是 HTML + JS 代码:http:
//jsfiddle.net/nhGcq/

代码很简单,只需:

alert($("#frm").serialize())
4

4 回答 4

1

没有任何内容被序列化,因为您的输入没有name属性。给他们一个。此名称是 URL 类型字符串中的键,这就是它的必要性。

文档中

对于要包含在序列化字符串中的表单元素的值,该元素必须具有 name 属性。

要为您的输入自动生成名称,您可以执行以下操作:

$('#frm :input').attr('name', function(num,name){
    return name||this.id||('i'+num)
});

但是,如果您不知道输入的名称或 ID,则可能很难使用序列化字符串。

于 2013-11-02T18:38:55.737 回答
0

你失踪了name atrribute

这就是为什么你得到空警报。

于 2013-11-02T18:39:05.467 回答
0

您的输入都没有name......只有name可以序列化或提交的表单控件

于 2013-11-02T18:39:13.000 回答
0

现场演示

你必须在你的<input>标签中设置属性name=""来传递它。像这样:

<input type="" name="" id="" />
于 2013-11-02T18:44:30.333 回答