1
任何人都可以幫忙。我有一個動態生成的表單,當它被提交時,它應該將值發送給一個函數並將它們添加回數據庫。我有真正的問題得到這個工作,它似乎很簡單:1.表單 - > 2.提交收到 - > 3.更新功能。該代碼是下面:Javascript將參數從表單傳遞到函數 - >更新DB
動態生成的形式:
function renderResults(tx, rs) {
e = $('#status');
e.html("");
for(var i=0; i < rs.rows.length; i++) {
r = rs.rows.item(i);
var f = $("<form>" +
"<input type=\"hidden\" name=\"rowId\" value=\"" + r.id + "\" />" +
"<input value=\"" + r.name + "\" name=\"name\" />" +
"<input value=\"" + r.amount + "\" name=\"amount\" />" +
"<input type=\"submit\" />" +
"</form>");
e.append("id: " + r.id, f);
f.submit(function(e)
{
updateRecord(this.rowId.value, this.name.value, this.amount.value);
});
}
}
處理表單提交,並傳遞到功能:
$('#theform').submit(function() {
updateRecord($('#thename').val(), $('#theamount').val());
});
功能設定值:
function updateRecord(id, name, amount) {
db.transaction(function(tx) {
tx.executeSql('UPDATE groupOne SET (name, amount) VALUES (?, ?) WHERE id=?', [name, amount, id], renderRecords);
});
}
的DB更新代碼的ID設置爲4作爲測試只是爲了查看是否有任何事情發生在第4行,我一直在擺弄w ith這條線可以使它工作。如果我將它設置爲:
tx.executeSql('UPDATE groupOne SET name = 4, amount = 5 WHERE id=?', [id], renderRecords);
它將使用設定值,但有人可以幫助我獲取表格值。
好的地方,謝謝。我一直在看這個太久了。這應該如何與updateRecord函數一起使用?函數updateRecord(thename,theamount){? – mao 2011-03-03 22:43:49
@ m1sco - 你想更新每條記錄嗎?聽起來就像你想循環訪問記錄併爲'rs'中的每一行調用updateRecord。 – gilly3 2011-03-03 22:47:12
我試圖實現一次更新個人記錄,如果可能的話?道歉,如果我沒有解釋得很好,來源是在這裏:http://pastebin.com/NhB4Ue8q – mao 2011-03-03 22:55:16