Программирование => JavaScript & JScript => Тема начата: 4m@t!c от 25 Апреля 2005, 19:18:26
Название: Как правильно удалить дочерний объект?
Отправлено: 4m@t!c от 25 Апреля 2005, 19:18:26
На скрепке лежит страница с формой. Форма простая - добавление/удалей полей формы. Хотелось бы узнать насколько глупо/приемлимо сделано добавление/удаление строк в таблице. Есть строка таблицы, в ней есть ячейки с полями воода информации. мой алгоритм был таким: 1. Передать в функцию номер удаляемой строки. 2. В функции все значения заполненных полей смещаются на одну строку вверх, начиная с удаляемой строки. 3. Удаляется последний дочерний элемент , т.е. строка. Предложили второй вариант, где удаляются все ячейки строки, а сама строка прячется. что-то типа
function del_el(del_el_id) { total_el=document.getElementById("tr-" + del_el_id).childNodes.length;
И сказали, что глупый у меня вариант решения задачи..
Название: Как правильно удалить дочерний объект?
Отправлено: Макс от 26 Апреля 2005, 01:30:40
так пусть они обоснуют "глупость". Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а ID строки, которую надо удалить :
Название: Как правильно удалить дочерний объект?
Отправлено: 4m@t!c от 26 Апреля 2005, 10:38:49
Цитировать
Серьезных глупостей не вижу, хотя все-таки лучше в функцию удаления передавать не текущий объект, а ID строки, которую надо удалить :
Т.е. с логикой все нормально, а огрех в реализации только в том, что я передаю не ID строки, а объект?
Название: Как правильно удалить дочерний объект?
Отправлено: Макс от 26 Апреля 2005, 11:52:52
Цитировать
4m@t!c: а огрех в реализации только в том, что я передаю не ID строки, а объект
огрехом это называть не буду, просто считаю мой подход более удобным. Логика ИМХО верная. Спросил бы сам, что за глупость они нашли. ИМХО оставлять скрытые строки - тоже не лучший вариант
Название: Как правильно удалить дочерний объект?
Отправлено: 4m@t!c от 26 Апреля 2005, 11:57:34
Глупость в том, что я смещаю строки, в цикле переписывая содержимое полей ввода.