如何将值从一个html页面传递到PHONEGAP中的另一个html页面?

时间:2013-04-20 12:58:58

标签: javascript android html cordova parameter-passing

我已经搜索了这个答案,我得到了两种回复,我发现我可以实现它。

他们是..

window.location.href=href='2ndpage.html?var id=results.rows.item(1).id';

* results.rows.item(1).id- 这是我从数据库中获取它的值---它将是数据库中元素的id值。

获取值,我实现了这段代码..

 function onDeviceReady() 
    {var db =  window.sqlitePlugin.openDatabase("Database", "1.0", "Database",1000000); 
     console.log("processing onDeviceReady");
     db.transaction(getParameter,queryDB,errorCB);  
    }           

    function getParameter(paramName) 
    {   console.log("processsinggg parameter loop ");
    var searchString = window.location.search.substring(1),
        i, val, params = searchString.split("&");

         for (i=0;i<params.length;i++) {
                val = params[i].split("=");
            if (val[0] == paramName) {
            return unescape(val[1]);
        }
    console.log("valueeesss: "+val[1]);

  }return null;
}

它会一直处理到这个循环并停止...以为我没有调用其他函数......我称之为queryDB();

在代码中处理queryDB时

function queryDB(tx) 
{       tx.executeSql('SELECT * FROM table_name', [], querySuccess, errorCB);
        console.log("processing queryDB");
}

它表示tx未定义......而它只是一个参数

我尝试打印输出... o / p是..

results.rows.item(1).id

我发现很难实现它...... 可能是因为我的错误......但是......

我尝试的另一种方法是 FORM方法

<form name="2ndpart"  method="post">
id: <input type="hidden" name="id">
<input type="submit" value="results.rows.item(0).id">
</form> 

在第二页中,我给了

function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(m,key,value) {
    vars[key] = value;
});
return vars;

}

它没有自动进入第二页......据说它不是一个功能。

这是正确的方法,最容易实现?

2 个答案:

答案 0 :(得分:0)

这就是我们如何将值从一个html传递到PHONEGAP中的另一个html页面

        function test()
        {
            window.location.href="index.html?var id=1";
        }

        <div id="test"><img src="img/test.png" onClick="test()"/></div>

答案 1 :(得分:0)

除了URL参数之外,您还可以设置localStorage,sessionStorage或cookie。在单页面应用程序中,您只需设置一些变量即可。