Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не удаляется кнопка в IE, IE 
:(
    Опции темы
c124578
Дата 1.8.2011, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.8.2011

Репутация: нет
Всего: нет



хочу организовать блокнот, схема такая - нажатие на div-контейнер->в нем же создается кнопка 'удалить из блокнота' и в внешнем контейнере - 'просмотреть блокнот', добавляется кука.
нажатие на 'удалить из блокнота' -> удаляется эта кнопка и кука; если кук нет, или равны 0 (для IE), удалить кнопку 'просмотреть блокнот'
Код

   function AddToBusket (event) {
      var x=event.target||event.srcElement;
      if (x.parentNode.className=='item_box' ) {
         x=x.parentNode;
         var id=x.innerHTML.match(/в базе[^\d]{1,5}([0-9]+)<\//);
         var isset=document.cookie.match("id"+id[1]+"="+(id[1]));
         if (isset==null) {
            setcookie("id"+id[1], id[1], 500);
            var c=document.createElement("button");
            c.className="DeleteItem";
            c.textContent="Удалить из блокнота";
            x.appendChild(c);
            c.onclick=DeleteCookie;         
         } else {
         alert("Этот объект уже в блокноте");
         }
         if (!document.getElementById("ShowBusketButton")) { 
            c=document.createElement("button");
            c.id="ShowBusketButton";
            c.setAttribute("type", "button"); 
            c.onclick=GoTo;    
            document.getElementById("wrap").appendChild(c);
         }
      } 
   }


   function DeleteCookie(e) {
      if (!e) var e = window.event;
          e.cancelBubble = true;
      if (e.stopPropagation) e.stopPropagation(); //подавляем всплытие события
      var x=e.target||e.srcElement;
      x=x.parentNode;      
      var id=x.innerHTML.match(/в базе[^\d]{1,5}([0-9]+)<\//); //находим номер записи
      setcookie("id"+id[1], 0, -1); // удаляем из блокнота
      x.removeChild((x.getElementsByTagName("Button"))[0]); //удаляем кнопку 'удалить из блокнота'
      var matches=document.cookie.match(/id[0-9]+=[0-9]{2,5}/gi); //если куки пустые
      if (matches==undefined) { 
         document.getElementById("wrap").removeChild(document.getElementById("ShowBusketButton")); //не работает в IE
      }
         
   }

Такая вот проблема - не работает последняя строка в IE, в любом.

Еще вопрос такой: если php скрипт на основании кук выводит эти кнопки, указывая обработчики события  onclick, то обработчик не вызывается (firebug показывает onclick в атрибутах кнопки), сейчас присваиваю обработчики по onload, функцией. Вопрос: как люди решают эту проблему и отчего она.

И вопрос на будущее: как при нажатии пользователем кнопки браузера 'назад', это дело перехватить и направить его на сервер, чтобы страница заново перерисовалась, делать все страницы  устаревшими не хотелось бы.
Очень буду благодарен за ответы по-существу, я совсем неопытный, если это все очень просто, просьба все-таки по-существу.

PM MAIL   Вверх
c124578
Дата 2.8.2011, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.8.2011

Репутация: нет
Всего: нет



Первая проблема решается вот-так:
Код

document.getElementById("ShowBusketButton").parentNode.removeChild(document.getElementById("ShowBusketButton"));

действительно ИШАК этот IE, все остальные принимали разные нотации.

По другим двум вопросам ответа пока не нашел.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0383 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.