質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1474閲覧

javascriptでindexeddb内のキー値を削除について

tetsu777

総合スコア39

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/06/19 05:43

●やりたいこと
1setValue関数で、
key値を"timestamp"=new Date().getTime())
とし、indexeddb内のobjectStore内に保存

2deleteValue

<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <h3>登録・更新</h3> バリュー:<input type="number" id="newvalue" /> <input type="button" value="設定" onclick="setValue()"/> <hr /> <h3>参照</h3> <input type="button" value="全取得" onclick="getAll()"/> <hr /> <h3>削除</h3> 削除したい値のキー<input type="number" id="deletekey" /> <input type="button" value="削除" onclick="deleteValue()"/> <hr /> <h3>処理結果</h3> <div id="result"/> </body> <script> var db; var indexedDB = window.indexedDB || window.mozIndexedDB || window.msIndexedDB; if (indexedDB) { // データベースを削除したい場合はコメントを外します。 //indexedDB.deleteDatabase("mydb"); var openRequest = indexedDB.open("mydb", 1.0); openRequest.onupgradeneeded = function(event) { // データベースのバージョンに変更があった場合(初めての場合もここを通ります。) db = event.target.result; var store = db.createObjectStore("mystore", { keyPath: "timestamp"}); store.createIndex("myvalueIndex", "myvalue"); store.createIndex("myvalueIndex2","timestamp", "myvalue"); } openRequest.onsuccess = function(event) { db = event.target.result; } } else { window.alert("このブラウザではIndexed DataBase API は使えません。"); } function setValue(event) { var timestamp = new Date().getTime(); var value = Number(document.getElementById("newvalue").value); var transaction = db.transaction(["mystore"], "readwrite"); var store = transaction.objectStore("mystore"); var request = store.put({ timestamp: timestamp, myvalue: value}); request.onsuccess = function (event) { timestamp = new Date().getTime(); document.getElementById("newvalue").value = ""; } } function getAll(event) { var result = document.getElementById("result"); result.innerHTML = ""; var transaction = db.transaction(["mystore"], "readwrite"); var store = transaction.objectStore("mystore"); var request = store.openCursor(); request.onsuccess = function (event) { if(event.target.result == null) { return; } var cursor = event.target.result; var data = cursor.value; result.innerHTML += "timestamp:" + data.timestamp + " key:" + cursor.primaryKey + " value:" + data.myvalue + "<br/>"; cursor.continue(); } } function deleteValue(event) { var Key = document.getElementById("deletekey").value; var result = document.getElementById("result"); result.innerHTML = ""; var transaction = db.transaction(["mystore"], "readwrite"); var store = transaction.objectStore("mystore"); var request = store.delete(Key); request.onsuccess = function (event) { result.innerHTML = "削除しました。"; } } </script> </html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

getTime() は数値を返すので、どちらかに型を合わせなければいけないでしょう。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime

投稿2019/06/19 06:31

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tetsu777

2019/06/20 02:47

早速のご回答ありがとうございます。 無事解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問