我们在第一页(index.html)上有两个单选按钮,我们需要在javascript中将值存储到数据库中(参见附件中的数据库)。 在设置页面上我们还有两个单选按钮,如果用户更改选项(在我们的例子中是英语或荷兰语),必须将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! ");
}