导航器backhistory与phonegap

时间:2013-01-10 10:54:25

标签: cordova jquery-mobile history

我有两页,第1页和第2页。第1页包含字段将包含值,而下一页按钮转到第2页。页面2包含一个按钮,然后返回页面1.如何显示页面1,从第2页返回,之前输入相同的数据。

我使用此代码:

navigator.app.backHistory();
return false;

我已经使用过此代码

if (typeof(navigator) != 'undefined' && typeof(navigator.app) != 'undefined' && typeof(navigator.app.backHistory) == 'function')
    {
        navigator.app.backHistory();
    }
    // standard
    else
    {
        history.go(-1);
    }

存在动态填充组合框并动态添加的字段的问题,如果我使用上面的代码包含这些字段的再次充电是动态的,我丢失了之前选择的内容。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在移至第1页的加载事件之前,您需要保存第1页的所有字段和选项的数据,在第1页的加载事件中检查现有数据,如果存在,请在页面上填充。听起来很难很长但事实并非如此。你可以创建所有数据的json对象并像这样保存它

this.setPageData = function(data) {
    if(data == null || data == '')
        store.setStorageItem('PageData', null);
    store.setStorageItem('PageData', JSON.stringify(data));
}
this.getPageData= function() {
    var data = store.getStorageItem('PagetData');
    if(data == null || data == '')
        return data;
    return JSON.parse(data);
}

存储功能将如下所示

this.Store = function() {
this.setStorageItem = function(name, val) {
    localStorage.setItem(name, val);
}
this.getStorageItem = function(name) {
    return localStorage.getItem(name);
}
this.clearStorage = function() {
    localStorage.clear();
}

}