serialize不包含隐藏字段

时间:2009-08-14 13:22:43

标签: jquery serialization

我在表单上运行序列化,隐藏字段的开头 - 这是一个非常重要的字段,应该发布。有没有办法通过jQuery轻松序列化它还是我应该编写自己的函数?

7 个答案:

答案 0 :(得分:120)

Serialize 包含所有已启用的input元素 name属性

答案 1 :(得分:2)

也许将两者合并在一个选择器中会有效吗?

$(":input,:hidden").serialize();

编辑:我刚试过上面的内容并且有效。但是,$(“form”)。serialize();应该像其他人提到的那样自动接受所有输入。

答案 2 :(得分:1)

这是这个问题的一个奇怪的变化。隐藏字段有名称。

alert($("#myForm").serialize())

正确弹出一个包含所有隐藏字段的窗口。但

$.post('myposts.php', $("#myForm").serialize(), function(data) {
            $('#myResult').html(data);
        });

没有隐藏字段。当php脚本执行print_r($_POST)时,隐藏的和复选框正在消失

答案 3 :(得分:1)

我自己遇到了这个问题,并且破解了一个解决方案。

问题与JQuery获取隐藏的html信息的方式有关。它不会将隐藏字段的TEXT作为其值,您必须使用value = property。

要在JQUERY中设置它,请使用$(field).val(yourvalue);

答案 4 :(得分:1)

您需要设置name属性并检查 disabled 属性!禁用字段也未序列化。

答案 5 :(得分:0)

您应该为所有元素添加名称以使序列化功能正常工作

答案 6 :(得分:-3)

我也有这个问题。出于习惯,我用/>关闭输入字段。我发现隐藏的输入在以这种方式关闭时不起作用。

<input type="hidden" name="someName" value="someValue" /> 

不起作用。

<input type="hidden" name="someName" value="someValue" >

确实有效。