PhoneGap Androidアプリケーションを構築していて、SQLLiteDBにJavascriptをロードしています。データベースが正しくロードされ、データの存在が証明されました。
GUIにJQueryMobileFrameworkを使用しています。アプリのサブページの1つで、DBから要素をロードし、それらをリスト要素として出力しようとしています。ただし、開始リストタグで「onload = ""」を呼び出してこれを実行しようとしていますが、関数が呼び出されていません-何かが起こっていることを確認するために単純なアラートでこれを実行しようとしましたが、何も思いつきませんでした。
DBの結果を自分で印刷してみて、とてもうれしいです。今、関数を呼び出そうとしています。どんな助けでもいただければ幸いです。以下のコード:
<div data-role="page" id="cachelist"> <!-- Start of cache list screen -->
<header data-role="header">
<h1>Cache List</h1>
<a href="#home" data-icon="home">Home</a>
</header>
<article data-role="content">
<ul data-role="listview" data-filter="true" id="cachelistList" onload="alert('test')">
</ul>
</article>
</div> <!-- End of cache list screen -->
これがdivです-オープニングから電話をかけようとしていることがわかります<ul>
。
また、ドキュメントのでJS関数を呼び出してみました<head>
が、違いはないと思いますが、念のため以下に示します。
<ul onload="cacheListPrint()">
</ul>
function cacheListPrint() {
alert("Getting this far");
db.transaction(queryDBPrint, errorCB);
}
function queryDBPrint(tx) {
tx.executeSql('SELECT * FROM cache', [], querySuccessPrint, errorCB);
}
function querySuccessPrint(tx, results) {
var rows = results.rows;
var len = rows.length;
if(len > 0) {
for (var i=0; i<len; i++){
document.getElementById('cachelistList').innerHTML +=
'<li><h1>' + rows.item(i).name + '</h1></li>';
}
}
}
function errorCB(err) {
alert("Error processing SQL: "+err.code);
}