【Hours】使用indexedDB中遇到的问题。
2015-12-01 15:39
573 查看
这里记录了做web app时使用indexedDB的一些心得。
在线尝试——Hours在线版,转制成的APK下载——下载APK
更多DEMO可以在我的个人主页查看——PKJY的个人主页
1、想要通过cursor.key读取对应内容的其他储存了得值,结果一直提示找不到数据。到处找解决方法都没找到,去知道提问也没人解答。各个介绍indexedDB API的网站也翻遍了,谁知道最后检查的时候发现是查询的内容加了双引号。。。该内容是个变量,结果蠢蠢的给它加了双引号,害我半天搞不清坨。。以下是错误和正确的代码。看看就明白了!!
2、想添加一个删除的按钮,一点击就可以删除对应的数据,但是一直没头绪,做不到点击的动作与自动读取数据挂钩,查阅API发现delete方法很方便,于是决定暂时改变策略,通过自行输入要删除的内容进行删除,虽然没那么只能,但是也总算是实现了删除的功能!!!
3、原来创建数据库是单独出来了,而后续的数据存储和读取之类的tansaction等都可以不在创建数据库的{}里面貌似,正在体验,若有情况再来修改!
在线尝试——Hours在线版,转制成的APK下载——下载APK
更多DEMO可以在我的个人主页查看——PKJY的个人主页
1、想要通过cursor.key读取对应内容的其他储存了得值,结果一直提示找不到数据。到处找解决方法都没找到,去知道提问也没人解答。各个介绍indexedDB API的网站也翻遍了,谁知道最后检查的时候发现是查询的内容加了双引号。。。该内容是个变量,结果蠢蠢的给它加了双引号,害我半天搞不清坨。。以下是错误和正确的代码。看看就明白了!!
function loadDetails(cursorKey){ var transaction = db.transaction("Data","readwrite") var store = transaction.objectStore("Data") var idName = cursorKey.getAttribute("id") var request = store.get("idName") request.onsuccess = function(event){ if(request.result) { alert( request.result.planName+request.result.planTime) } else { alert("Data couldn't be found in your database!"); } } }以下是正确的代码:
function loadDetails(cursorKey){ var transaction = db.transaction("Data","readwrite") var store = transaction.objectStore("Data") var idName = cursorKey.getAttribute("id") var request = store.get(idName) request.onsuccess = function(event){ if(request.result) { alert( request.result.planName+request.result.planTime) } else { alert("Data couldn't be found in your database!"); } } }哎,总之血崩。。
2、想添加一个删除的按钮,一点击就可以删除对应的数据,但是一直没头绪,做不到点击的动作与自动读取数据挂钩,查阅API发现delete方法很方便,于是决定暂时改变策略,通过自行输入要删除的内容进行删除,虽然没那么只能,但是也总算是实现了删除的功能!!!
$("#del").on('click',showdelbtn) function showdelbtn(){ var transaction = db.transaction("Data","readwrite") var store = transaction.objectStore("Data") var inputIndex = prompt("请输入要删除的计划名称!") if(inputIndex!=null){ var testDel = store.delete(inputIndex) testDel.onsuccess = function(){ alert("操作成功!"); listAll(); } } }当然,该代码还很简陋,比如就算输入数据库没有的内容,也会提示操作成功。。我会在后续进行完善的!!
3、原来创建数据库是单独出来了,而后续的数据存储和读取之类的tansaction等都可以不在创建数据库的{}里面貌似,正在体验,若有情况再来修改!
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享
- 如何创建对象以及jQuery中创建对象的方式
- IE8开发人员工具教程(二)
- Mootools 1.2教程 函数