Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666

Не получается удалить элемент из div-а

02.03.2014, 23:33. Показов 1199. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, почему, когда я нажимаю на кнопку с именем delBtn_индексКнопки у меня консоль пишет Uncaught TypeError: Cannot call method 'removeChild' of undefined . Я вроде бы правильно все написал, а удалять элемент не хочет
в картинке прилагаю интерфейс задуманный))
HTML5
1
2
3
4
5
<div id="divForPointAndButton">
    <input type="text" size="20" name="inPoint_1" class="InPoint"></input>
    <input type="submit" onclick="delPoint(1);" value="X" name="delBtn_1" title="Удалить пункт" id="minusBtn" class="classname">
</div>
<input type="submit" value="Новый пункт" onclick="addNewPoint();" class="classname new_p">
JavaScript
1
2
3
4
5
6
7
8
9
function addNewPoint() {
    i = i+1;
    document.getElementById('divForPointAndButton').innerHTML += '<br><input type="text" size="20" name="inPoint_' + i + '"class="InPoint"></input> <input type="submit" onclick="delPoint(' + i + ');" value="X" name="delBtn_' + i + '" title="Удалить пункт" id="minusBtn" class="classname">';
}
 
function delPoint(pointNum) {
    var p = document.getElementsByName('inPoint_' + pointNum);
    p.parentNode.removeChild(p);
}
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.03.2014, 23:33
Ответы с готовыми решениями:

Не получается удалить элемент массива из for
Вот такая вот конструкция. Работает наполовину, половину массива выводит. А на второй половине эксепшн: Необработанное исключение:...

Не получается удалить элемент из списка
надо удалить четные индексы списка, тип 2, 4 и тд. using System; using MainDll; using System.Threading; using...

Не получается удалить первый отрицательный элемент динамического массива
Удалить первый отрицательный элемент динамического массива помогите пожалуйста #include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; ...

8
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
02.03.2014, 23:53
Цитата Сообщение от Johnlion Посмотреть сообщение
onclick="delPoint(1);"
delPoint('1');
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
03.03.2014, 00:18  [ТС]
Galphimbl, ничего не поменялось
0
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
03.03.2014, 00:29
Цитата Сообщение от Johnlion Посмотреть сообщение
class="classname">
если ты проверяешь на этом же коде...то где input закрывается??
0
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
03.03.2014, 00:34  [ТС]
Galphimbl, закрыл везде, ничего не меняется
0
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
03.03.2014, 00:48
Цитата Сообщение от Johnlion Посмотреть сообщение
getElementsByName('inPoint_' + pointNum);
ты получаешь массив елементов...поэтому должно быть pointNum)[0];

Добавлено через 1 минуту
3-е....ты удаляешь только поле ввода....кнопки удалить остаются...

Добавлено через 12 минут
JavaScript
1
2
3
4
5
6
7
8
9
10
function addNewPoint() {
    if (i != undefined ) i++;
    var i = 0;
    document.getElementById('divForPointAndButton').innerHTML +='<div name="inPoint_'+i+'"><input type="text" size="20" class="InPoint"></input> <input type="submit" onclick="delPoint(' + i + ');" value="X" name="delBtn_' + i + '" title="Удалить пункт" id="minusBtn" class="classname" /></div>';
}
 
function delPoint(pointNum) {
    var p = document.getElementsByName('inPoint_' + pointNum)[0];
    p.parentNode.removeChild(p);
}
HTML5
1
2
3
4
5
6
<div id="divForPointAndButton" >
    <div name="inPoint_1"><input type="text" size="20" class="InPoint" />
    <input type="submit" onclick="delPoint(1);" value="X"  title="Удалить пункт" id="minusBtn" name="delBtn_1" class="classname" />
    </div>
</div>
<input type="submit" value="Новый пункт" onclick="addNewPoint();" class="classname new_p"/>
полностью рабочий код....и вот можешь посмотреть на фидлере
1
 Аватар для Johnlion
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
03.03.2014, 01:00  [ТС]
Galphimbl, да получилось, спасибо) Но теперь я когда ввожу текст в инпут, а потом добавляю новый пункт, введенный текст исчезает, почему?
0
22 / 22 / 13
Регистрация: 13.01.2013
Сообщений: 125
03.03.2014, 02:18
потому что innerHTML +=
ты если грубо выражаться удаляешь старые елементы, и добавляешь старые + один новый....юзай appendChild()
смотри фидлер
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
03.03.2014, 02:20
текст исчезает, потому что добавляете HTML-код, переписывая innerHTML блока
добавлять код следует, используя DOM-методы

т.е. надо:
-- методом createElement () создать <div> и два <input>
-- методом appendChild () добавить поочерёдно оба <input>'а в созданный <div>
-- этим же методом appendChild () заполненный <input>'ами <div> добавить в блок с id="divForPointAndButton"

вот тогда добавление нового пункта тексты в предыдущих пунктах не затронет
-----

кстати, весьма "оригинальным" является использование вами <input type="submit"> для кнопок удаления и кнопки "Новый пункт"
а почему не обычные <input type="button"> ?

и ещё более оригинальным является использование одинаковых id="minusBtn" для всех вновь добавляемых кнопок
вы не в курсе, что значение id должно быть уникальным на странице?
и, кстати, id вам для этих кнопок совершенно не нужны
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2014, 02:20
Помогаю со студенческими работами здесь

Не получается вывести и удалить последний элемент контейнера map
Не получается вывести и удалить последний элемент контейнера map. Для первого (begin) всё работает. А для последнего (end) даже не...

тег div должен спускаться вниз с родным div, не получается, подскажите
есть два div-a, один родной а второй внутри его, мне нужно, чтобы при пополнений внутреннего div-a, родной div тоже спускался вместе с ним...

Не получается удалить минимальный элемент в массиве и вывести новый. Как сделать это?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;locale&gt; using namespace std; int main() { setlocale( LC_ALL,&quot;Russian&quot; ); ...

Не получается вырезать div внутри div-а
Привет! Есть строка вида Нужно чтобы осталось

Растянуть элемент Div на всю высоту родительского div
Как сделать что бы элемент Div растягивался на всю высоту следующего элемента? Я только начинающий верстальщик и возникла такая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru