Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 21.03.2015, 23:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Alexander Belov
events.length >= 2 && (events.length=2)
if (events.length >= 2 ) {events.length=2}

так понятнее ? и эта строка служебная вам ненужна
Сообщение от Alexander Belov
Но как переделать функцию не на два события, а на не ограниченное количество? На столько, сколько будет введено пользователем?
функция пока ни на какое количество не сделана - это просто демонстрация, которая вас может быть на что-то натолкнёт.
вашей информации недостаточно чтоб сделать полноценную функцию и похоже вам в раздел работа.
Ответить с цитированием
  #12 (permalink)  
Старый 21.03.2015, 23:41
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Теперь понятно.

Буду искать решение.
Ответить с цитированием
  #13 (permalink)  
Старый 01.05.2015, 22:45
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Помогите, пожалуйста, разобраться в ситуации.
Ниже написан код, которые добавляет объекты в localStorage при условии, что в самом хранилище уже что-то есть.
Если там ничего нет, - в коде это строка if (myStorage.length == 0) {};
(тестирую, очистив предварительно localStorage), - то консоль выдаёт ошибку Uncaught SyntaxError: Unexpected end of input.

Интересует:
1) Почему строка с переменной var events = localStorage.getItem('events') || [];
не определяет пустой массив, если в localStorage ещё нет 'events'?

2) Как создать и прописать условие для if (myStorage.length == 0) {}; чтобы там создавался в localStorage пустой массив, если нет ещё сохранённых данных.
Оставил в коде специально пустое место после фигурных скобок.

Пробовал:
1) var myStorage = [];
2) var myStorage = myStorage.push({Date: "", Event: "", Participants: "", Description: ""});
localStorage.setItem('myStorage', JSON.stringify(myStorage));

P.S. Важная часть начинается с var events...

if (tdAttr) {

                        tdAttr.style.backgroundColor = 'green';
                        tdAttr.getElementsByTagName("span")[0].innerHTML = fastAddEvent.value;


                         var fastDate = tdAttr.getAttribute('data-cell');
                         var fastEvent = fastAddEvent.value;

                         var events = localStorage.getItem('events') || [];
                         

                          var addFastEvent = function() {
                        
                            var myStorage = JSON.parse(events);
           

                            if (myStorage.length == 0) {
                                
                            }

                            else if (myStorage.length > 0) {
     

                              for (var i = 0; i < myStorage.length; i++) {
      
                                  if (myStorage[i].Date == fastDate) {
                    
                                      myStorage[i].Event = fastEvent;
                                      myStorage[i].Participants = "";
                                      myStorage[i].Description = "";
                                
                                  };


                                  break;

                              };

  

                            };

                              localStorage.setItem('events', JSON.stringify(myStorage));


                          };

                          addFastEvent();
                      };
Ответить с цитированием
  #14 (permalink)  
Старый 01.05.2015, 23:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Alexander Belov,
строка 10 где кавычки потеряли? "[]"
Ответить с цитированием
  #15 (permalink)  
Старый 01.05.2015, 23:41
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Сообщение от рони Посмотреть сообщение
Alexander Belov,
строка 10 где кавычки потеряли? "[]"
Кавычки - это для строки, если я правильно понимаю. С кавычками ошибка исчезает. Но не очень понятно, почему не создаётся объект, если без кавычек.

У меня аналогичный коды выше. Там потом в такую же переменную добавляются события посредством
events.push({Date: storageNewDate, Event: storageEvent, Participants: storageParticipants, Description: storageDescription});


Т.е., в объект мы передаём значения. И там была так же объявлена переменная:
var events = JSON.parse(localStorage.getItem('events')) || [];
Если там скобки взять в кавычки, то метод push() не будет работать.
Ответить с цитированием
  #16 (permalink)  
Старый 01.05.2015, 23:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Alexander Belov,
вы запутались
либо
var events = JSON.parse(localStorage.getItem('events')) || [];

тут кавычки ненужны
либо
var events = localStorage.getItem('events') || "[]";
var myStorage = JSON.parse(events);

здесь без кавычек никак
Ответить с цитированием
  #17 (permalink)  
Старый 01.05.2015, 23:51
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Благодарю за помощь!
Плюсы не могу ставить вам в карму временно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Grid panel Удаление из json serigc Events/DOM/Window 1 17.11.2014 13:23
TinyMCE удаление и добавление новых данных. xTODx Библиотеки/Тулкиты/Фреймворки 4 11.05.2014 18:16
добавление, удаление класса ("мигание") bpystep Общие вопросы Javascript 2 09.08.2013 13:44
Динамическое добавление и удаление одной и тойже вкладки в Ext.tab.Panel potkin ExtJS 2 29.07.2012 16:47
Добавление и удаление полей в форму anoth3r Events/DOM/Window 1 11.09.2009 15:10