序列化不包括隐藏的字段

我在表单上运行序列化,其中的字段隐藏 – 这是一个非常重要的领域,应该发布。 有什么方法可以轻松地通过jQuery序列化,或者我应该写我自己的function?

序列化 确实包含了所有启用的具有name属性的 input元素。

也许在一个select器中将两者结合起来会起作用吗?

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

编辑:我只是尝试了以上,它的工作。 但是,$(“form”)。serialize(); 应该像其他人所提到的那样自动采取所有input

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

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

正确地popup一个窗口与所有隐藏的领域。 但

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

没有隐藏的字段。 当php脚本print_r($_POST)的隐藏和checkbox是mising

只是自己碰到这个问题,并且破解了一个解决scheme。

问题与JQuery拾取隐藏的html信息的方式有关。 它不会拿起一个隐藏字段的TEXT作为它的值,你必须使用value =属性。

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

您应该为所有元素添加名称以使serialize函数正常工作

我也有这个问题。 出于习惯,我用/>closuresinput字段。 我发现隐藏的input在这种方式closures时不起作用。

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

不起作用。

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

确实有效