#jquery #html
#jquery #HTML
Вопрос:
возникли проблемы с вставкой записи в хранилище, немного отлажено. кажется, он извлек значение скорости из html-формы и передал его функции addItem. но он не выполняет transaction.ExecuteSQL.
function errorHandler(transaction, error) {
alert("SQL error: " error.message);
}
try{
// open the database
var itemsDb = openDatabase('tripDb', '1.0', 'XB Trip DB', 100 * 1024);
// create the list items table if it doesn't exist
var queryCreateTable =
"CREATE TABLE IF NOT EXISTS xbTrip(xbId INTEGER NOT NULL PRIMARY KEY
AUTOINCREMENT, rate);";
itemsDb.transaction(function (transaction) {
transaction.executeSql(queryCreateTable, [], null, errorHandler);
}, errorHandler);
}
catch (e)
{
alert(e.message);
}
$(document).ready(function() {
$("#add").click(function() {
addItem($("#rate").val(), function() {
displayMessage();
});
});
function addItem(rate, callback) {
try{
itemsDb.transaction(function(transaction) {
transaction.executeSql(
"INSERT INTO xbTrip(rate) VALUES (?)",
[rate],
callback,
errorHandler
);
});
}
catch (e)
{
alert(e);
}
} // addItem
function displayMessage(){
alert("Insert record completed");
}
})
Ответ №1:
Я взял ваш код и немного расширил его.
У вас была одна или две простые синтаксические ошибки, такие как точка с запятой в вашей строке SQL, не уверен, было ли это только в сообщении Soverflow или нет.
Вот рабочая реализация того, что вы пытаетесь сделать:
Возможно, сравните его с вашим и посмотрите, можете ли вы определить, что вызывает сбои в вашем коде в вашей конкретной ситуации, поскольку вы не предоставили контекст HTML / App.
Я думаю, что это, вероятно, был просто синтаксис и, возможно, какая-то чрезмерно сложная передача обратных вызовов внутри анонимных функций.
Дайте мне знать, как у вас дела.