Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   УДАЛИТЬ ПУСТОЙ INPUT (https://javascript.ru/forum/events/28452-udalit-pustojj-input.html)

Brook 20.05.2012 15:30

УДАЛИТЬ ПУСТОЙ INPUT
 
Доброго времени суток, уважаемые форумчане.

По ходу бучения возник вопрос как удалить пустой незаполненный input?!

у меня есть форма которая собирает данные с input'ов, но когда у меня остаются пустые строки, они тоже генерируются в строки и в конечном счете у меня написано имя ссылки а пути нет (так как путь надо было вбить в input) примерно так.
пожалуйста, помогите или подскажите.

Заранее, спасибо.

Brook 20.05.2012 15:34

Я делал через if:
for (f=0;f<=1000;f++) {
if(document.getElementsByClassName('www')[f].value == '') {
//тут не знаю что писать чтобы удалить все пустые элементы
}
}

vadim5june 20.05.2012 15:34

удалить любой элемент
elem.parentNode.removeChild(elem)
то есть пишем
var elem=document.getElementsByClassName('www')[f];
elem.parentNode.removeChild(elem)

Brook 20.05.2012 16:28

vadim5june,
это я знаю (по учебнику занимаюсь) - это не работает, уже пробовал((((

bot87 20.05.2012 16:36

значит ошибка у вас в коде! Показывай полный пример

vadim5june 20.05.2012 16:39

remove удаляет без проблем
значит у Вас элементы не ищутся цикл прерывается
<button onclick ='this.parentNode.removeChild(this)'>remove</button>

vadim5june 20.05.2012 16:43

Цитата:

Сообщение от bot87 (Сообщение 175598)
значит ошибка у вас в коде! Показывай полный пример

цикл нужно делать обратный с i--
а так когда удаляется элемент то количество меняется
кроме того сомневаюсь что в примере 1000 input-ов

bot87 20.05.2012 16:52

Цитата:

Сообщение от vadim5june (Сообщение 175602)
цикл нужно делать обратный с i--
а так когда удаляется элемент то количество меняется
кроме того сомневаюсь что в примере 1000 input-ов

оййойой чую полезная инфа для меня.Более подробно если не сложно можно?:)

dmitriymar 20.05.2012 16:54

while(document.getElementsByClassName('www').lenght)
 {
  document.removeChild(document.getElementsByClassName('www').[0]);
 }

для браузеров поддерживающих getElementsByClassName
а вообще, глупо удалять, если можно просто для них не генерировать

vadim5june 20.05.2012 16:59

когда удаляем нужно цикл писать
for(var i=m.length-1;i>-1;i--)
кажется так потому что если делать обычный цикл при удалении 0 элемента у нас бывший 1 не удалится потому что нулевым станет а i= 1
или удалять по while все время 0 элемент пока они есть


Часовой пояс GMT +3, время: 22:04.