Перемещение наборов полей в DOM исключает их из POST - PullRequest
0 голосов
/ 28 марта 2011

Я использую плагин 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_person2 fieldset перемещается туда, где fieldset_person1, и плагин мастера обновляется. Но когда я отправляю форму, поля person2 не включаются. Я также попытался добавить div в саму форму, но затем он включается в POST, только если он не был перемещен в правильное место.

Есть мысли по этому поводу? У меня нет идей: /

Ответы [ 3 ]

0 голосов
/ 28 марта 2011

просто предположение: убедитесь, что вы не скрываете свои данные; скрытые входы не отправляются с формой.

0 голосов
/ 30 марта 2011

Ах, я наконец-то понял. Очевидно, компонент HTML / Javascript / JQery не нравится, когда элементы перемещаются в DOM. Однако создание новых элементов не является проблемой.

Я переименовал fieldset_person2 fieldset_person2_dummy и добавил _dummy ко всем другим идентификаторам в этом наборе полей. Когда я хочу добавить страницу в форму, я использую clone () JQuery, чтобы клонировать этот набор полей, изменить все идентификаторы, удаляющие _dummy, а затем добавить элемент в DOM. Работает как шарм.

Спасибо за помощь, ребята, надеюсь, это полезно.

0 голосов
/ 28 марта 2011

Я предполагаю, что это не входит в форму. Можете ли вы показать нам сгенерированный источник, также было бы хорошо увидеть код, который работает

...