无法更新IndexedDB中的值

时间:2016-03-28 18:10:06

标签: javascript indexeddb

大家好我需要帮助我的IndexedDB代码我有3个不同的输入字段3个对象,我应该更新(添加值到旧值)我尝试使用该代码,但无法正常工作。我今天开始学习IDB,但我现在堆叠了几个小时的问题。

它没有更新值,当我在request.onsuccess之后添加alert(newValue)时,我在alert框中看到了正确的值但是objectStore.put(request.result)不更新DB。我查看开发人员工具中的资源

alertBox After alert box

我的数据库看起来像:

{id: id1, value1: number, value2: number, value3: number},
{id: id2, value1: number, value2: number, value3: number},
{id: id3, value1: numer, value2: numer, value3: number}]

每个值都有自己的输入框

$("#ospAdd").on("keydown",function search(e) {
                if(e.keyCode == 13) {
                    var value1 = $("#ospAdd").val();
                    var id = "osp"


                    var transaction = db.transaction(["data"], "readwrite");
                    var objectStore = transaction.objectStore("data");


                    request = objectStore.get(id);

                    request.onsuccess = function(event){
                        var value1 = $("#ospAdd").val();
                        var oldValue = Number(request.result.value1);
                        var newValue = oldValue + value1;
                        alert(newValue);
                        request.result.value1 = newValue;

                        objectStore.put(request.result);

                    };
                };

            });  

0 个答案:

没有答案