0

入力ボックスの値を動的に作成された形式で保存したいのですが、IndexedDBobjestStoreに配置するオブジェクトを作成するのに問題があります。私はこのようなものが必要です:

[{"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();を試しています。しかし、私はそれが機能していません...何かアイデアはありますか?

4

1 に答える 1

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)
}
于 2012-10-18T09:13:15.020 に答える