Показать сообщение отдельно
  #8 (permalink)  
Старый 30.11.2013, 20:54
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от ninzzo Посмотреть сообщение
и пробегись по всем необходимым элементам в старом блоке циклом, соответственно будешь выставлять такие же элементы как и в старой форме...


можно пример на 1 селект хотя бы. Ато не понял как проходить циклом.

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

var d = document;
for (i=0; i < d.getElementsByName("j1").length; i++) { // цикл по radio-переключателям
if (d.getElementsByName("j1")[i].checked) { d.getElementsByName("jj1")[i].checked = true; break; }
}


var d = document;
for (i=0; i < d.getElementById("j12").options.length; i++) { // цикл по ниспадающему списку select
if (d.getElementById("j12").options[i].selected) { d.getElementById("j12").options[i].selected = true; break; }
}


при проходе по группе checkbox-переключателей все тоже самое, но нужно учитывать что может быть выбрано несколько таковых в отличии от radio-переключателей...

также учитывайте, что у копий элементов по хорошему нужно сменить id (в обязательном порядке) и name желательно, ибо могут быть проблемы с функциями, обрабатывающие соответствующие элементы только одной формы...
Ответить с цитированием