Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.03.2015, 00:20
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Отображать данные после перезагрузки страницы
Привет!
Помогите, пожалуйста, разобраться с ситуацией:
Есть органайзер, в который можно добавить события, указать участников этого события и добавить его описание. Это события сохраняются в localStorage и хранятся там в виде объекта.
Каким образом сделать так, чтобы при перезагрузке страницы (или при переходе на другой месяц, например) введённые данные отображались в нужной ячейке?


if(localStorage.events) {
      var existEvents = JSON.parse(localStorage.getItem('events'));//Событие, его дата, участники и описание

        var checkCell = document.getElementsByTagName('td');
        for(n=0; n<checkCell.length; n++) {
        var compareCell = checkCell[n].getAttribute('data-cell');//Cells date Attribute

          for(i=0; i<existEvents.length; i++) {
            var item = existEvents[i];

              if(item.Date == compareCell) {//Если дата совпадает с аттрибутом ячейки, то выводим сохранённое обытие + его участников + описание
                var showEvent = checkCell[n].getElementsByClassName('spanEvent'),
                    showParticipants = checkCell[n].getElementsByClassName('spanParticipants'),
                    showDescription = checkCell[n].getElementsByClassName('spanDescription');

                showEvent.innerHTML = item.Event;
                showParticipants.innerHTML = item.Participants;
                showDescription.innerHTML = item.Description;
  
                console.log(showEvent, showParticipants, showDescription)
              };
            
          };
              
            
        }; 

    };


Код
showEvent.innerHTML = item.Event;
showParticipants.innerHTML = item.Participants;
showDescription.innerHTML = item.Description;


не работает так, как я ожидаю, т.е., не выводит сохранённые данные в положенное место в ячейке.
Консоль на каждое событие выдаёт массив типа:
[span.spanEvent, innerHTML: "Scooter gig", item: function, namedItem: function] [span.spanParticipants, innerHTML: "Rave guys", item: function, namedItem: function] [span.spanDescription, innerHTML: "Dancing to the floor", item: function, namedItem: function]


Каким образом из этого массива вытянуть данные тегов <span>, чтобы они отображались по умолчанию в ячейке и оставались там после перезагрузке / обновления страницы?

Последний раз редактировалось Alexander Belov, 13.03.2015 в 00:26.
Ответить с цитированием
  #2 (permalink)  
Старый 13.03.2015, 00:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Alexander Belov
getElementsByClassName
это коллекция элементов и нет у неё innerHTML

var showEvent = checkCell[n].getElementsByClassName('spanEvent')[0],

Последний раз редактировалось рони, 13.03.2015 в 00:51.
Ответить с цитированием
  #3 (permalink)  
Старый 13.03.2015, 07:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Alexander Belov
checkCell[n].getElementsByClassName('spanEvent')
checkCell[n].querySelector('.spanEvent')

Так короче, да еще и в IE8 заработает.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 13.03.2015, 22:13
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Спасибо, парни! Очень выручили.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление страницы после получения ответа от сервера potrashitel AJAX и COMET 9 24.02.2015 10:04
как отображать результаты скрипта немедленно, а не после завершения всей функции? sitar32 Элементы интерфейса 6 28.08.2014 18:27
Получить данные с другой страницы в фору DDSSDD Серверные языки и технологии 0 09.04.2013 16:52
Изменение адреса страницы после аякса. Tchort AJAX и COMET 9 03.09.2011 00:20
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06