Web Storageの中身を一覧表示してsubmitボタンで選んだもののkeyとvalueを再編集を試みているのですが、
どうも思うように表示できなくてまた書いてみました。
show_resultの部分を最初は一覧表示して
そこの中のクリックしたもののkeyを引き継ぎ
keyとvalueを入力するテキストボックスとボタンを表示し
いったんreturnで止めた?
onclickでfunction set()にてセットし終わらせたいのですが
ここでもreturnを使ったのですがまた最初から表が始まり流れてしまうのはなぜでしょう
また違う方法では、クリックしたとき別の画面をwindow openで考えてみたんですが
変数の値を違うHTMLファイルに継続する方法がわからずこまってました、
goto文のようにラベルを付けることも試してみたんですが
どうやらだめらしいので困り果てました。
一瞬テキストボックス2つとボタンが表示されるのですが
通り過ぎてしまっているらしいです
ソース内容
<!DOCTYPE html> <html lang="ja"> <head> <meta charset=utf-8> <title>Web Storageの中身を一覧表示してsubmitボタンで選んだもののkeyとvalueを再編集</title> </head> <body> <script> var storage = localStorage; var result = ""; var items = { data1: "data2", data3: "data4" }; function addItem() {//setItem用関数 Object.keys(items).forEach(function (key) { storage.setItem(key, items[key]); }); } function dataedit(key) { result +="<input id='k\" + i + \"' type='text' value='\" + k + \"'>" + "<br>value:<input id=\"v\" type=\"text\">" + "<input type=\"button\" value=\"input\" onClick=\"set()\">"; document.getElementById("show_result").innerHTML = result; return; } //データを再保存する function set() { var k = document.getElementById("k").value; var v = document.getElementById("v").value; storage.setItem(k, v); var i = " k"; if(window.confirm('key : ' + k + '\nvalu : ' + v + '\nと入力されました')){ location.href = "index.html"; return; } } window.onload = function () { for (var i = 0; i < storage.length; i++) { var k = storage.key(i); result += "<form name='js'>" + "<table border='1' cellspacing='0' cellpadding='0'>" + "<tr>" + "<td width='100'>" + k + "</td>" + "<td width='200'>" + storage.getItem(k) + "</td>" + "<td width='100'>" + "<input id='k" + i + "' type='text' value='" + k + "'>" + "<input type='submit' value='編集' onclick='dataedit(\"" + k + "\")'>" + "</td>" + "</tr>" + "</table>" + "</form>"; } document.getElementById("show_result").innerHTML = result; }; </script> <div id="show_result"></div> </body> </html>
大変申し訳ないです。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。