Здравствуйте!
Пишу функцию для работы с 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') {
// редактируем, удалем и т.д.
}
}