Добавить в innerHTML, не уничтожая содержимое формы - PullRequest
10 голосов
/ 06 сентября 2011

У меня есть форма, которая генерируется с помощью ajax на основе многофайловой загрузки (swfupload). Он добавляет больше элементов формы к данному элементу dom после завершения каждого загруженного файла. Это, таким образом, дает мне проблему. Если я выбрал 5 файлов для загрузки, первый файл создаст форму, в которую я начну вводить данные, однако, когда 2-й файл завершит загрузку, он удалит предыдущие введенные данные в элементах формы, а также добавит 2-е элементы формы .

Я думаю, это потому, что я использую:

document.getElementById('test').innerHTML = document.getElementById('test').innerHTML + newformelements;

Я думаю, что выполнение вышеупомянутого не сохранит введенные данные в формах, а только сам HTML.

Итак, как я могу добавить этот элемент, не разрушая то, что уже помещено в поля формы? Число возможных дочерних элементов является динамическим в зависимости от мультизагрузчика.

Ответы [ 3 ]

6 голосов
/ 06 сентября 2011

Используйте манипуляцию DOM, в этом случае: Node.appendChild [документы] .

innerHTML будет всегда уничтожить и воссоздать элементы.

6 голосов
/ 06 сентября 2011

Вы открыты для использования jquery?Если да, то Вы можете легко сделать что-то вроде этого

$("#divid").append("html you want to append");
0 голосов
/ 06 сентября 2011

Создайте новый элемент, установите его innerHTML, затем добавьте его в конец потомков форм.

...