"哎呀!错误是无法准备语句(1接近“当”语法错误)(代码5);
"Oops! error was could not prepare statement (1 near "when" syntax error) (Code 5)"
我正试图在我的jqTouch web应用程序中使用javascript表单,但当我单击"提交"按钮时,它什么也不做,Chrome弹出消息:"哎呀!error was cannot prepare statement(1 near"when"syntax error)(Code 5)"
我的HTML:
<div id="createEntry">
<div class="toolbar">
<h1>New Entry</h1>
<a class="button cancel" href="#">Cancel</a>
</div>
<form method="post">
<ul class="rounded">
<li><input type="text" placeholder="What" name="what" id="what"></li>
<li><input type="text" placeholder="When" name="when" id="when"></li>
<li><input type="text" placeholder="Comments" name="comments" id="comments"></li>
<li><input type="submit" class="submit" name="action" value="Save Entry"></li>
</ul>
</form>
</div>
这是我的javascript:
var jQT= $.jQTouch({
icon:'kilo.png'
});
var db;
$(document).ready(function(){
$('#createEntry form').submit(createEntry);
});
var shortName = 'AstronomersAid';
var version = '1.1';
var displayName = 'AstronomersAid';
var maxSize = 65536;
db = openDatabase(shortName, version, displayName, maxSize);
// database upgrade function as described on page 133.
if (db.version == '1.0') {
db.changeVersion('1.0', version,
function(transaction) {
transaction.executeSql(
'ALTER TABLE entries ' +
' ADD COLUMN longitude TEXT');
transaction.executeSql(
'ALTER TABLE entries ' +
' ADD COLUMN latitude TEXT');
},
function(e) {
alert('DB upgrade error: ' + e.message);
}
);
} else if (db.version == '') {
db.changeVersion('', version);
} // end database upgrade.
function refreshEntries() {
var currentDate = sessionStorage.currentDate;
$('#passport h1').text(currentDate);
$('#passport ul li:gt(0)').remove();
db.transaction( function(transaction)
{
transaction.executeSql(
'SELECT * FROM entries WHERE date = ? ORDER BY food;',
[currentDate], function (transaction, result)
{ for (var i=0; i < result.rows.length; i++)
{
var row = result.rows.item(i);
var newEntryRow = $('#entryTemplate').clone();
newEntryRow.removeAttr('id');
newEntryRow.removeAttr('style');
newEntryRow.data('entryId', row.id);
newEntryRow.appendTo('#passport ul');
newEntryRow.find('.label').text(row.what);
newEntryRow.find('.when').text(row.when);
newEntryRow.find('.delete').click(function(e) {
var clickedEntry = $(this).parent();
var clickedEntryId = clickedEntry.data('entryId');
deleteEntryById(clickedEntryId);
clickedEntry.slideUp();
e.stopPropogation();
});
newEntryRow.click(entryClickHandler);
}
}, errorHandler
);
}
);
} // end refreshEntries function.
function entryClickHandler(e){
sessionStorage.entryId = $(this).data('entryId');
db.transaction(
function(transaction) {
transaction.executeSql(
'SELECT * FROM entries WHERE id = ?;',
[sessionStorage.entryId],
function (transaction, result) {
var row = result.rows.item(0);
var what = row.what;
var when = row.when;
var comments = row.comments;
$('#inspectEntry input[name="what"]').val(what);
$('#inspectEntry input[name="when"]').val(when);
$('#inspectEntry input[name="comments"]').val(comments);
jQT.goTo('#inspectEntry', 'slideup');
},
errorHandler
);
}
);
} // end entryClickHandler
function createEntry() {
var what = $('#what').val();
var when = $('#when').val();
var comments = $('comments').val();
db.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO entries (what, when, comments)
VALUES (?, ?, ?, ?);',
[what, when, comments],
function(){
refreshEntries();
jQT.goBack();
},
errorHandler
);
}
);
return false;
}
function insertEntry(latitude, longitude) {
var what = $('#what').val();
var when = $('#when').val();
var comments = $('#comments').val();
db.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO entries (what, when, comments) ' +
'VALUES (?, ?, ?);',
[what, when, comments],
function(){
refreshEntries();
checkBudget();
jQT.goBack();
},
errorHandler
);
}
);
} // end insertEntry function.
function errorHandler(transaction, error) {
alert('Oops! Error was ' + error.message + ' (Code ' + error.code + ')' );
return true;
} // end errorHandler
function deleteEntryById(id){
db.transaction( function(transaction) {
transaction.executeSql(
'DELETE FROM entries WHERE id=?;', [id], null, errorHandler);
}
);
} // end deleteEntryById function.
有人能帮我吗?在过去的三天里,我一直在尝试不同的东西,但都没有成功。
var when = $('#when').val();
"when"是一个保留字。请使用另一个变量名。
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- 如何解决这个"E/SQLiteLog(1259):(1)接近“;GROUP”:语法错误“;在phonegap中
- 使用最接近的.attr获取错误的tr id
- "哎呀!错误是无法准备语句(1接近“当”语法错误)(代码5);