在DOM中移动字段集将它们排除在POST之外

问题描述:

我正在使用JQuery Formwizard插件(http://thecodemine.org/)作为我的一个表单。这个插件允许你添加和删除表单中的元素。好东西! 只是,我添加的表单元素不包含在窗体的服务器端处理程序的POST变量中。怎么来的?我的代码是有点巨大的,但这里有我在做什么的想法:再在DOM中移动字段集将它们排除在POST之外

<form id="wizard"> 
    <fieldset id="fieldset_person1" class="step"> 
     Name: <input type="text" name="person1[name]" /> 
    </fielset> 
    <fieldset id="fieldset_order" class="step"> 
     Amount: <input type="text" name="order[amount]" /> 
    </fieldset> 
</form> 
<div style="display: hidden"> 
    <fieldset id="fieldset_person2" class="step"> 
     Name: <input type="text" name="person2[name]" /> 
    </fielset> 
</div> 

的fieldset_person2字段集是在哪里fieldset_person1是和精灵插件更新完成后移动。但是当我提交表单时,不包括person2字段。我也尝试将div添加到表单本身,但是如果它没有移动到正确的位置,它只会包含在POST中。

对此有何看法?我所有的想法:/

啊,我终于明白了。 很明显,当元素在DOM中移动时,HTML/Javascript/JQery组件不喜欢它。然而,创建新元素不是问题。

我已将fieldset_person2 fieldset_person2_dummy重命名为_dummy并将其附加到该字段集中的所有其他ID。当我想向页面添加一个页面时,我使用JQuery的clone()来克隆这个字段集,改变所有的ID删除_dummy,然后将元素附加到DOM。奇迹般有效。

感谢您的帮助球员,希望这是有用的。

我猜测,它不会进入的形式,你能告诉我们生成的源也将是很好的看到,做的工作

只是一个猜测代码:确保你没有隐藏你的输入;隐藏的输入不会随窗体一起发送。

+0

隐藏在显示中:无? – Robbert 2011-03-29 07:59:10