以下の1データ入力で入力したキー、バリュー1を2データ入力結果で出力し、結果を削除、修正し保存するには何処を訂正すべきですか?
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1 …
</head>
<body>
<b><dd>1データ入力</dd></b>
<ul>
<li><input type="text" id="todoItem" name="todo" />キー(必須)</li>
<li>
<input id="todovalue" name="todovalue" type="value"/>バリュー1(数字)
</li>
</ul>
<ul>
<li>a.<input type="button" id="btnAddTodo" value="登録"/></li>
<li>b.<input type="button" id="btnResetTodo" value="削除"/></li>
</ul>
<br>
<b>2.データ入力結果</b>
<ul id="todoItems">データ入力結果</ul>
<script>
var db; //
var indexedDB = window.indexedDB || window.mozIndexedDB || window.msIndexedDB || window.webkitIndexedDB;
if (indexedDB) {
var app = {}
app.indexedDB = {};
app.indexedDB.db = null;
} else {
window.alert("IndexedDBが使えません");
}
app.indexedDB.open = function() {
var version = 1;
var openRequest = indexedDB.open("todoList", version);
openRequest.onupgradeneeded = function(e) {
app.indexedDB.db = e.target.result;
var store = app.indexedDB.db.createObjectStore( "todo" , { "keyPath" :"text"} );
store.createIndex("myvalueIndex", "text2");
e.target.transaction.oncomplete = function() {
app.indexedDB.getAllTodoItems();
};
}
openRequest.onsuccess = function(e) {
app.indexedDB.db = e.target.result;
app.indexedDB.getAllTodoItems();
};
openRequest.onerror = function(e) {
console.log("Database error: " + e.target.errorCode);
};
};
app.indexedDB.deleteDB = function() {
indexedDB.deleteDatabase("todoList");
};
app.indexedDB.getAllTodoItems = function() {
var initTodoItems = $("#todoItems").html("");
var initTodoItem = $("#todoItem").val("");
var initTodovalue = $("#todovalue").val("");
var db = app.indexedDB.db;
var trans = db.transaction("todo", "readwrite");
var store = trans.objectStore("todo");
var value = document.getElementById("todovalue").value;
var cursorRequest = store.openCursor();
cursorRequest.onsuccess = function(e) {
var result = e.target.result;
if(!!result == false)
return;
renderTodo(result.value);
result.continue();
};
};
app.indexedDB.addTodo = function() {
var db = app.indexedDB.db;
var trans = db.transaction("todo", "readwrite");
var store = trans.objectStore("todo");
var todoText = $("#todoItem").val();
var todoValue = $("#todovalue").val();
if( todoText == "") return;
var data = {
"text": todoText,
"text2": parseInt(todoValue),
"timeStamp": new Date().getTime()
};
var request = store.put(data);
request.onsuccess = function(e) {
app.indexedDB.getAllTodoItems();
};
request.onerror = function(e) {
console.log("Error Adding: ", e);
};
};
app.indexedDB.deleteTodo = function(e) {
var db = app.indexedDB.db;
var trans = db.transaction("todo", "readwrite");
var store = trans.objectStore("todo");
var id = Number(e.target.id);
var request = store.delete(id);
request.onsuccess = function(e) {
init();
};
};
function renderTodo(row) {
var $todoItems = $("#todoItems");
$todoItems.append("<li>" + "<dd>" + row.text + "</dd>" + "<dd>" + row.text2 + "</dd>" + "<a id='" + row.text + "' class='btnDeleteTodo' href='#'>[ 削除 ]</a>" + "<a id='" + row.text + "'class='btnAddTodo' href='#'>[ 修正 ]</a></li>");
jQuery(function($){
$('dd').click(function(){
if(!$(this).hasClass('on')){
$(this).addClass('on');
var txt = $(this).text();
$(this).html('<input type="text" value="'+txt+'" />');
}
});
});
}
function init() {
app.indexedDB.open();
}
$(function(){
var $btnAddTodo = $("#btnAddTodo");
var $btnResetTodo = $("#btnResetTodo");
$btnAddTodo.on("click",app.indexedDB.addTodo);
$btnResetTodo.on("click",app.indexedDB.resetTodo);
$(document).on('click', '.btnDeleteTodo', app.indexedDB.deleteTodo);
init();
});
</script>
</body>
</html>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
cookieを利用すれば30行くらいでできますよ。
// cookie登録 //
document.cookie = "[NAME]=[VALUE]";
cookieの値の取得方法は下記URLを参考にしてください。
https://www.google.com/search?q=JS+cookie%E3%81% …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript gasについて 1 2022/05/31 21:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで決まった「時刻」...
-
google apps scriptの終了のさせ方
-
javascriptでiframeのURL変更は?
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
VSCODE[Python]の設定について
-
1日1回だけ引けるjavascriptお...
-
jqGridについて
-
イラストレーターでドキュメン...
-
シンプルなweb版スタンプラリー...
-
C# 演算 分岐処理 繰り返し処理
-
ページの先頭へスクロールして...
-
ジェネレーターの作り方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
C# 演算 奇数と偶数 表現の仕方
-
【javascript】正規表現で括弧...
-
なぜmatchメソッドがエラーにな...
-
Javascriptで、以下の様な足し...
-
カンマで終わってるのはセミコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
HTMLで作った時報アプリが動き...
-
javascriptでテーブルに追加し...
-
html javascript リンク先アド...
-
【西暦等の変換】
-
ローカルにあるファイルを検索...
-
ASP.NETのコントロールの値をJa...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
gas スプレッドシートがアクテ...
-
ASP.NET MVCでObjectをjsに渡す
-
カンマで終わってるのはセミコ...
-
JavaScriptで文字列の特定文字...
-
javascriptでiframeのURL変更は?
-
APIを使って埋め込んだグーグル...
おすすめ情報