我的代码存在问题。
db = openDatabase('mydb', '1.0', 'my first database', 5 * 1024 * 1024);
if(!db) { alert("Failed to connect to database."); }
else {
function doQuery(queryType,query) {
function errorHandler(tr, error) {
alert('Oops. Error was: '+error.message+' (Code '+error.code+')');
var we_think_this_error_is_fatal = true;
if (we_think_this_error_is_fatal) return true;
return false;
}
if(queryType == "SELECT") {
function dataHandler(tr, rs) {alert("1")}
db.transaction(function (tr) { tr.executeSql(query,[],dataHandler,errorHandler)})
}
else {
function dataHandler(tr, rs) { alert("2")}
db.transaction(function (tr) { tr.executeSql(query,[],dataHandler,errorHandler)})
}
} // doquery
} // else
已经插入了db,tables和记录,因此,当我在mypage中调用它时:
<td align="right">
<div id="body">
<textarea id="txt" rows="20" cols="48">
</textarea>
</div>
<input type="button" id="button" onClick="doQuery('SELECT',txtarea.value)" value="Execute SQL">
</td>
我得警报(2)而非警报(1),为什么?
txtarea.value
当然是textarea
对象,所以有什么不对吗?
答案 0 :(得分:0)
我会从第一个else块中取出所有函数定义(除去那个)。将第二个dataHandler函数的名称更改为dataHandler2,看看你得到了什么。