localStorage에 배열을 저장했는데요.. 불러올 때 문제가 생기네요..
조회수 740회
function fLoad(i) {
var fin, finF, s = [], cnt;
var a, b;
var openId;
var removeId;
cnt = localStorage.getItem("counter") - 0;
finF = localStorage.getItem("LItem");
console.log(fin);
fin = JSON.parse(finF); //여기서 문제가 생깁니다..
console.log(cnt);
if (i < cnt + 1) {
console.log("1");
a = i * 6 - 6;
b = i * 6;
s = fin.slice(a, b);
result = s.join(" - ");
openId = "openBtn" + i;
removeId = "removeBtn" + i;
console.log(result);
var newdiv = document.createElement("div");
var newP = document.createElement("p");
var newButtonOpen = document.createElement("input");
var newButtonRemove = document.createElement("input");
var newText = document.createElement("strong");
newButtonOpen.type = "button";
newButtonOpen.value = "열기";
newButtonOpen.setAttribute("style", "float:right; text-align:center;");
newButtonOpen.id = openId;
newButtonRemove.type = "button";
newButtonRemove.value = "삭제";
newButtonRemove.setAttribute("style", "background-color:#FE2E2E; float:right; text-align:center;");
newButtonRemove.id = removeId;
newText.setAttribute("style", "float:rignt; text-align:right;");
newText.innerHTML = result;
newP.setAttribute("style", "border:1px solid black; height : 25px;");
newP.appendChild(newText);
newP.appendChild(newButtonOpen);
newP.appendChild(newButtonRemove);
newdiv.appendChild(newP);
document.body.appendChild(newdiv);
s = [];
i++;
console.log(removeId);
document.getElementById(openId).addEventListener("click", function () {showDiary();});
document.getElementById(removeId).addEventListener("click", function () {removeDiary(i);});
return fLoad(i);
}
}
function removeDiary(toTarget) {
if (confirm("정말로 이 일기를 삭제하시겠습니까?")) {
var cnt = localStorage.getItem("counter");
var fin, finF;
var finc, fincF;
var a, b, c;
a = toTarget * 6 - 6;
b = toTarget * 6 - 1;
c = toTarget - 1;
finF = localStorage.getItem("LItem");
fincF = localStorage.getItem("Lcontents");
fin = JSON.parse(finF);
finc = JSON.parse(fincF);
fin.splice(a, b);
finc.splice(c, 1);
console.log(fin);
console.log(finc);
alert(fin[0]);
alert(finc[0]);
cnt--;
localStorage.setItem("LItem", fin);
localStorage.setItem("Lcontents", finc);
localStorage.setItem("counter", cnt);
console.log(fin);
console.log(finc);
console.log(cnt);
alert("삭제가 완료되었습니다.");
window.location.reload();
}
}
<body>
<script>
fLoad(1);
<script>
</body>
여기서 splice로 LS를 불러와서 그 안에 있는 배열의 항목을 자른 다음에 다시 LS에 넣어주는 코드인데요, fLoad(i) 에 JSON.parse(finF); 여기서 오류가 납니다.. 이걸 해결하려고 계속 해봤는데 안되더라구요.. 고수분들 도와주세요!!
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력