DOM中的移动字段集将它们从POST中排除

时间:2011-03-28 15:30:26

标签: jquery forms dom jquery-plugins formwizard

我正在使用JQuery Formwizard插件(http://thecodemine.org/)获取我的一个表单。此插件允许您在表单中添加和删除元素。好东西! 只是,我添加的表单元素不会包含在表单的服务器端处理程序的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_person1所在的位置移动fieldset_person2字段集,并更新向导插件。但是当我提交表单时,不包括person2字段。我也尝试将div添加到表单本身,但是如果它没有移动到正确的位置,它只会包含在POST中。

对此有何想法?我完全没有想法:/

3 个答案:

答案 0 :(得分:0)

我猜测它没有进入表单你能告诉我们生成的源也很好看到完成工作的代码

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

我已将fieldset_person2 fieldset_person2_dummy重命名并将_dummy附加到该字段集中的所有其他ID。当我想在表单中添加页面时,我使用JQuery的clone()来克隆这个字段集,更改所有ID删除_dummy,然后将该元素附加到DOM。像魅力一样。

感谢帮助人员,希望这很有用。