Программирование > JavaScript & JScript
Как правильно удалить дочерний объект?
(1/1)
4m@t!c:
На скрепке лежит страница с формой. Форма простая - добавление/удалей полей формы. Хотелось бы узнать насколько глупо/приемлимо сделано добавление/удаление строк в таблице.
Есть строка таблицы, в ней есть ячейки с полями воода информации. мой алгоритм был таким:
1. Передать в функцию номер удаляемой строки.
2. В функции все значения заполненных полей смещаются на одну строку вверх, начиная с удаляемой строки.
3. Удаляется последний дочерний элемент , т.е. строка.
Предложили второй вариант, где удаляются все ячейки строки, а сама строка прячется.
что-то типа
function del_el(del_el_id) {
total_el=document.getElementById("tr-" + del_el_id).childNodes.length;
for(di=0;di<total_el;di++) {
//alert(document.getElementById("tr-" + del_el_id).childNodes[0].nodeName);
del_el_list=document.getElementById("tr-" + del_el_id).childNodes[0];
del_el_list.parentNode.removeChild(del_el_list);
}
document.getElementById("tr-" + del_el_id).style.display=\'none\';
}
И сказали, что глупый у меня вариант решения задачи..
Макс:
так пусть они обоснуют "глупость".
Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а ID строки, которую надо удалить :
--- Код: ---
function addRow()
{
z++;
tbody = partrow.parentNode;
tr = document.createElement("TR");
tr.setAttribute("id", "tr_"+z);
.......
tddelbut.innerHTML=\' Удалить\';
....
--- Конец кода ---
(код не проверял)
4m@t!c:
--- Цитировать ---Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а ID строки, которую надо удалить :
--- Конец цитаты ---
Т.е. с логикой все нормально, а огрех в реализации только в том, что я передаю не ID строки, а объект?
Макс:
--- Цитировать ---4m@t!c:
а огрех в реализации только в том, что я передаю не ID строки, а объект
--- Конец цитаты ---
огрехом это называть не буду, просто считаю мой подход более удобным.
Логика ИМХО верная.
Спросил бы сам, что за глупость они нашли. ИМХО оставлять скрытые строки - тоже не лучший вариант
4m@t!c:
Глупость в том, что я смещаю строки, в цикле переписывая содержимое полей ввода.
Навигация
Перейти к полной версии