0

我在 Phone Gap 域中编写一个项目。我必须将值从一个 HTML 页面传递到另一个。我使用以下代码完成了该操作。

 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]);
       }
    }

我以以下格式使用了值val[1]

document.getElementById("desc").innerHTML  = results.rows.item(val[1]).desc;

现在我必须要图像,当我单击它们时,它应该转到单独的页面。

所以,我以下列方式调用该函数。

<div id="abc"> <img src="img/abc.png"  alt=""  onclick="abc()"/> </div>

我收到一个错误

TypeError: Result of expression 'abc' [[object HTMLDivElement]] is not a function. at file:///android_asset/www/desc.html?var%20id=0:141

整个函数流程是这样的

    func A()
   {  
    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]);
    }
        document.getElementById("desc").innerHTML  = results.rows.item(val[1]).desc;

     function abc() 
     {
          console.log("processing abc!!");
          window.location.href=href='abc.html?var id=results.rows.item(val[1]).id';
     }
}
4

1 回答 1

1

一个非常基本和简单的解决方案,使用 JSON 对象将所有数据存储为键值对。这里的键是您的 ID 的名称,值是与您的 ID 关联的实际内容

<!DOCTYPE html>
<html>
 <head>
  <script type="text/javascript">
    var url = window.location.search.substring(1).split("&");
    var json_object = {};
    for (var i=0; i<url.length; i++) {
        var val = url[i].split("=");
        if (val[0]) 
            json_object[val[0]] = unescape(val[1]);
    }
    console.log(json_object);
   </script>
  </head>
</html>

此时,如果您在控制台中检查 json_object 中的值,您将看到类似这样的内容

Object {param1: "132", param2: "3221"}

这里 param1 是您的 ID 的名称,132 是值,类似地,param2 是您的第二个 ID 的名称,3221 是值。在您的代码中引用这些。假设您想将 ssds 的值分配给变量 param2_value,您将使用类似

var param2_value = json_object.param2; 
于 2013-04-26T13:26:41.627 回答