我在 html5 中使用 SQLite,它运行良好。但问题是我在页面本身中显示的行看起来并不那么好。我使用 innerhtml 来显示用户插入的行。这是脚本
function showRecords() {
results.innerHTML = '';
// This function needs a single argument, which is a function that takes
// care of actually executing the query
db.transaction(function(tx) {
tx.executeSql(selectAllStatement, [], function(tx, result) {
dataset = result.rows;
for ( var i = 0, item = null; i < dataset.length; i++) {
item = dataset.item(i);
results.innerHTML += '<li>' + item['lastName'] + ' , '
+ item['firstName']
+ ' <a href="#" onclick="loadRecord(' + i
+ ')">edit</a> '
+ '<a href="#" onclick="deleteRecord(' + item['id']
+ ')">delete</a></li>';
}
});
});
}
/**
* Loads the record back to the form for updation
*
* @param i
*/
function loadRecord(i) {
var item = dataset.item(i);
firstName.value = item['firstName'];
lastName.value = item['lastName'];
phone.value = item['phone'];
id.value = item['id'];
}
/**
* Delete a particular row from the database table with the specified Id
*
* @param id
*/
function deleteRecord(id) {
db.transaction(function(tx) {
tx.executeSql(deleteStatement, [ id ], showRecords, onError);
});
resetForm();
}
所以在代码showRecords()
方法中,我对要显示的数据进行了硬编码。我想要的是,数据应该以适当的表格格式显示。我知道我必须在 JavaScript 中创建元素以生成动态表格,但我无法这样做,也无法在表格中显示内容。
每次用户填写表单并单击插入按钮时,插入语句都会被执行,然后showRecords()
方法被调用。我无法找出正确的解决方案。