Показать сообщение отдельно
  #1 (permalink)  
Старый 04.03.2017, 18:03
Новичок на форуме
Отправить личное сообщение для otwebsafe Посмотреть профиль Найти все сообщения от otwebsafe
 
Регистрация: 01.03.2017
Сообщений: 8

Работа с LocalStorage
Здравствуйте!
Пишу функцию для работы с LocalStorage (для себя, дынных не много).
Возникает ошибка. Прошу не готовый код, просто подскажите куда смотреть).
Вот html:
Код:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <script src="main.js" before></script>
    <title>JS Testing job table</title>
</head>
<body>
<input type="text" value="id_discussion" id="id_discussion">
<input type="text" value="comment" id="comment">
<input type="submit" onclick="AutoStartAndAdd('set_add');" value="Add">
<table  id="table1">
    <tr id="tr11">
        <td>Id обсуждения</td>
        <td>Комментраий</td>
        <td>Кол-во записей</td>
        <td>% изменения</td>
    </tr>
</table>
</body>
</html>
Вот JS:
document.addEventListener("DOMContentLoaded", AutoStartAndAdd('set_load')); // обрабочик полной загрузки страницы
// 1. сделать единую функцию для загрузки страницы и добавления.
// 2. Сделать удаление выбранных строк
// 3. Авто-Вставка ссылок на обсуждения
// 4. Получение token ключа / или как получить вечный ключ
// 5. Получение количества комментариев в ветке обсуждения.
// 6. Сохранение последнего полученного количества комментариев в ветке обсуждения
// 7. Вычисление изменения в процентном соотношении за указанный период
// 8. Оформить все красиво -- пока все :)


// Выполение 1 пункта - единая функция для загрузки страницы и добавления.

function AutoStartAndAdd(Set) { // с помощью set мы понимаем тип операции: добавление, удаление, или первоначальная загрузка.
    // добавление set_add
    if (Set == 'set_add') {
        // добавляем в балицу и локальное хранилище.
        var tbody = document.getElementById('table1').getElementsByTagName("TBODY")[0];
        var row = document.createElement("TR");
        var td1 = document.createElement("TD");
        td1.appendChild(document.createTextNode(document.getElementById("id_discussion").value));
        var td2 = document.createElement("TD");
        td2.appendChild(document.createTextNode(document.getElementById("comment").value));
        row.appendChild(td1);
        row.appendChild(td2);
        tbody.appendChild(row);

        try {
            // сохраняем данные в локальное хранилище.
            localStorage.setItem(document.getElementById("id_discussion").value, document.getElementById("comment").value);
        } catch (e) { // проверка на достижение максимального лемита, получаем сообщение о превышении допустимого размера хранилища (5мб)
            if (e == QUOTA_EXCEEDED_ERR) {
                alert('Превышен лимит');
            }
        }
    }
    else if (Set == 'set_load') {
        for (var i = 0; i < localStorage.length; i++) {
            var tbody = document.getElementById('table1').getElementsByTagName("TBODY")[0];
            var row = document.createElement("TR");
            var td1 = document.createElement("TD");
            td1.appendChild(document.createTextNode(localStorage.key(i)));
            var td2 = document.createElement("TD");
            td2.appendChild(document.createTextNode(localStorage.getItem(localStorage.key(i))));
            row.appendChild(td1);
            row.appendChild(td2);
            tbody.appendChild(row);
        }
    }
    else if (Set == 'set_edit') {
        // редактируем, удалем и т.д.
    }
}
Ответить с цитированием