如何从动态创建的输入表单为IndexedDB创建合适的对象

时间:2012-10-18 08:22:42

标签: javascript html5 indexeddb

我希望以动态创建的形式保存输入框中的值,但是我在构建要放入IndexedDB objestStore的对象时遇到了一些麻烦。 我需要这样的东西:

[{"name": "box1 value", "last name": "box2 value", "age": "box3 value"},{"name": "box4 value", "last name": "box5 value", "age": "box6 value"}]

专有名称必须保持不变(等于objectStore中的索引),只有值会发生变化。

代码:

var rows = document.getElementById('myTable').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
for (i = 0; i < rows.length; i++) {
    var boxes = rows.getElementsByClassName('input');
    for (i = 0; i < boxes.length; i++) {

       objectStore.put('values');

    };  
};

我正在尝试JSON.stringify();但我没有让它工作...... 有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为最好的办法是:   - 为同一属性的所有输入字段指定相同的名称属性   - 为每一行检索这些输入字段的值   - 构造对象   - 保存对象。

在伪代码中:

for each (row in rows){
  var obj = {};
  obj.name = row.getElementByName('name').value;
  obj.lastname = row.getElementByName('lastname').value;
  obj.age = row.getElementByName('age').value;

  objectStore.put(obj)
}