我们在第一页 (index.html) 上有两个单选按钮,我们需要将值存储到 javascript 中的数据库中(参见 word 中的附加数据库)。在设置页面上我们还有两个单选按钮,在 index.html 页面上所做的选择必须放入 settings.html 页面并读出选择的选项,如果用户更改选项(在我们的例子中是英语或荷兰语) 我们需要把这个值再次存入数据库,这只能在settings.html页面上实现(用户可以返回index.html页面,这是一次性设置页面)
这是 index.html 和 settings.html 上的两个单选按钮的脚本:
<input type="radio" name="set-language" id="dutch" checked />
<label for="dutch" class="flag-nl">Dutch<span></span></label>
<input type="radio" name="set-language" id="english" />
<label for="english" class="flag-uk">English<span></span></label>
我们有同样的问题来取复选框的值,这是我们在设置页面上的代码,对于复选框,我们需要在数据库中添加值,如果用户也能够再次显示它们返回设置页面(这样他就可以看到他之前所做的选择)。此代码仅在 settings.html 页面上可用。
<input type="checkbox" name="cards-nsyearcard" id="cards-nsyearcard" />
<label for="cards-nsyearcard">NS jaar/trajectkaart</label>
<input type="checkbox" name="cards-thepassbusiness" id="cards-thepassbusiness" />
<label for="cards-thepassbusiness">ThePass Business</label>
<input type="checkbox" name="cards-thepassweekend" id="cards-thepassweekend" />
<label for="cards-thepassweekend">ThePass Weekend</label>
<input type="checkbox" name="cards-thalys" id="cards-thalys" />
<label for="cards-thalys">Thalys TheCard</label>
我们目前在这部分有点卡住了,所以非常感谢您的帮助。:-)
这是我们正在使用的数据库:
//database storge
function dbBtn(){
db.transaction(populateDB,errorCB, successCB);
$.mobile.changePage("settings_succesfull.html" );
}
function loadSettings(){
db.transaction(queryDB, errorCB);
}
function bdClick(){
$.mobile.changePage("settings.html");
db.transaction(queryDB, errorCB);
}
function queryDB(tx) {
tx.executeSql('SELECT * FROM user', [], querySuccess, errorCB);
}
function querySuccess(tx, results) {
len = results.rows.length;
if (len > 0) {
for (var i=0;i<len;i++) {
$("#user- name").val(results.rows.item(i).userName);
$("#user-insertion").val(results.rows.item(i).userInsertion);
$("#user-lastname").val(results.rows.item(i).userLastname);
$("#user-email").val(results.rows.item(i).userEmail);
}
}
}
function transaction_error(tx, error) {
alert("Database Error: " + error);
}
function tableDB(tx) {
// tx.executeSql('DROP TABLE IF EXISTS user');
var sql = "CREATE TABLE IF NOT EXISTS user ( "+
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"userName VARCHAR(50), " +
"userInsertion VARCHAR(50), " +
"userLastname VARCHAR(50), " +
"userEmail VARCHAR(50), " +
"age VARCHAR(20))";
tx.executeSql(sql);
}
function populateDB(tx) {
var setName = $("#user-name");
var setInsertion = $("#user-insertion");
var setLastName = $("#user-lastname");
var setEmail = $("#user-email");
var setGender = $("input:checked");
tx.executeSql('INSERT INTO USER (userName, userInsertion, userLastname, userEmail,age) VALUES ("' + setName.val() + '", "' + setInsertion.val() + '", "' + setLastName.val() + '", "' + setEmail.val() + '","' + setGender.val() + '")');
}
function errorCB(tx, err) {
alert("Error processing SQL: "+err);
}
function successCB() {
// alert("success! ");
}