Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: удаление элементов документа

Сообщения:  [1-9] 

 
 автор: PAT   (05.07.2008 в 03:01)   письмо автору
 
   для: Даниэль   (05.07.2008 в 00:49)
 

Замените
if (!document.forms.frm.dlt)
на
if (x.value == 'Add Button')

   
 
 автор: Даниэль   (05.07.2008 в 00:49)   письмо автору
 
   для: gipper   (14.01.2008 в 00:18)
 

Да, у меня тоже дочерние элементы в Mozila и Opera не удаляются.

   
 
 автор: gipper   (14.01.2008 в 00:18)   письмо автору
 
   для: CNT   (13.01.2008 в 01:34)
 

Cранно! Пробую в Mozilla Firefox 2.0.0.11 , не работает! Может с браузером чего?!!! Но пробовал и на другом компе, то же самое. Попробую еще раз.

   
 
 автор: CNT   (13.01.2008 в 01:34)   письмо автору
 
   для: gipper   (13.01.2008 в 01:10)
 

Не знаю насчёт 7-го Эксплорера (у меня левый Windows и скачать 7-й не могу) и вообще не понимаю - причём тут пустое пространство.
Вот код, безошибочно работающий в MSIE 6.0, FF 2.0.0.11, Opera 9.26:
<html>
<head>
<script>
function f (x)
{
if (!document.forms.frm.dlt)
   {
   var z = document.createElement ('input');
   with (z) {type = 'button'; id = 'dlt'; value = 'Button'}
   document.forms.frm.appendChild (z);
   x.value = 'Remove Button';
   }
else
   {
   document.forms.frm.removeChild (document.forms.frm.dlt);
   x.value = 'Add Button';
   }
}
</script>
</head>
<body>
<form name="frm">
<input id="txt">
</form>

<input type="button" onclick="f (this)" value="Add Button">
</body>
</html>

   
 
 автор: gipper   (13.01.2008 в 01:10)   письмо автору
 
   для: CNT   (13.01.2008 в 00:38)
 

Первый вариант конечно не del, а dlt. Моя ошибка. Но мне не понятно почему в IE7 все работает? Атрибут name у меня тоже задан dlt. И не понятно про DOM с символами пустого пространства?

   
 
 автор: CNT   (13.01.2008 в 00:38)   письмо автору
 
   для: gipper   (12.01.2008 в 22:49)
 

Ошибка, видимо, всё же в обращении к кнопке.
document.имя_формы.имя_кнопки
А вы пишете, что у вас кнопка с id="del" (или id="dlt" - разобрать при вашей небрежности невозможно).

В общем, давайте кнопке имя (атрибут NAME) - тогда она должна удалиться бесследно.

   
 
 автор: gipper   (12.01.2008 в 22:49)   письмо автору
 
   для: CNT   (12.01.2008 в 22:06)
 

Удаление происходит командой

document.myform.removeChild(document.myform.dlt);

Если написать, как вы говорите

document.myform.del = null;

после удаления, ничего не происходит, если до удаления, то кнопка dlt не исчезает, но условие if срабатывает.

   
 
 автор: CNT   (12.01.2008 в 22:06)   письмо автору
 
   для: gipper   (12.01.2008 в 21:07)
 

Как именно удаляете, вы не написали.
А это важно.
Порекомендую сразу после удаления ещё и написать document.myform.del = null - тогда уж точно условие if сработает

   
 
 автор: gipper   (12.01.2008 в 21:07)   письмо автору
 
 

Здравствуйте всем! Ситуация такая. На странице есть кнопка (условно назовем ее "добавить") при нажатии на которую javascript добавляет в форму нескоько полей и кнопку. Если нажать на другую кнопку ("удалить"), то скрипт удаляет эти поля, приводя форму к первоначальному состоянию. Самое интересное, что при повторном нажатии "добавить" добавление полей не происходит. Принцип добавления полей происходит следующим образом:

if (!document.myform.del) { код добавления кнопки с id="del" в форму }

Сделано это для предотвращения эффекта размножения поля при многократном нажатии кнопки "добавить".
При первом нажатии "добавить" все происходит нормально. "Удалить" - все нормально, удаляет. Снова "добавить" - и хрен!

При чем в IE7 работает все превосзодно. Но в Mozilla (блин!!!!!!) все происходит как описано. Пробовал выполнять

alert (document.myform.del);

и точно! Перед первой вставкой поля показывает как положено undefinit. При удалении - как положено [object], а вот при последующей вставке опять [object]. Как будто и не удалялось ничего (но все-таки поле исчезает!). Естетсвенно условие проверку не проходит и поле второй раз не добавляется. И , повторяю, именно с Mozilla! В книжке написано, что Mozilla добавляет символы пустого пространства в DOM?! Якобы в этом дело?! А как это обойти и в чем суть - ни слова! Вот надо бы это как то обойти. Есть соображения?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования