0

我们在第一页 (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! ");
}
4

0 回答 0