Phonegap:我的Javascript代码适用于浏览器,但它不能在Android模拟器或设备上运行

时间:2013-11-07 15:40:28

标签: javascript android jquery-mobile checkbox cordova

我正在尝试使用phonegap和JQuery Mobile制作Android应用程序。

我有一个显示值的div。每当我点击复选框时,通过在标签值

中添加或减去div的值,该值就会改变

这是我在Android设备上安装的索引文件。

<head>
 <script>
  function inputData(idVar)
 {
 var myId;
 myId = document.getElementById(idVar).getAttribute("value");
 var myTag = document.getElementById(idVar);

 var mymyTag = myTag.querySelectorAll(".ui-btn-text");
 var myData = mymyTag[0].innerHTML;
 var myDataParsed = parseInt(myData);
if (document.getElementById(myId).checked==false)
 {
 myDataPrased =  myDataParsed+parseInt(document.getElementById("input_label").innerHTML);
 document.getElementById("input_label").innerHTML=myDataPrased;
 }
 else
 {
 var myResult
 var myOldData = parseInt(document.getElementById("input_label").innerHTML);
 myResult = myOldData-myDataParsed;
 document.getElementById("input_label").innerHTML=myResult;  
 }
 }

  </script>
  </head>

<body>
<div data-role="page" id="input">
<div data-role="header"></div>
  <div data-role="content">

    <div data-role='fieldcontain' align="center">
    <fieldset data-role='controlgroup' id="in">
    </fieldset>
    </div>
    <div id="input_label">0</div>
     <a href="#data" data-role="button" data-inline="true">Back</a>
</div>
<div data-role="footer" data-position="fixed">
    <h4>Page Footer</h4>
</div>

    

复选框是从php页面生成的。

 <fieldset data-role='controlgroup' id="in">

当我点击标签时调用函数“inputData”(在JQuery Mobile中,标签标签似乎覆盖了CheckBox,所以当我想我点击复选框时,我实际上是在点击标签然后它将生成一个触发Checkbox的事件)

该函数将接收标签的ID。然后使用它,我通过从label标签的“value”属性中提取它来获取CheckBox的ID,因此我可以使用它来检查CheckBox是否被选中。

此代码在FireFox等Web浏览器上运行完美。但是当我使用Eclipse在Android设备上安装它时它不会运行它。无论我如何点击复选框。 div的值不会改变。

3 个答案:

答案 0 :(得分:1)

我能够通过转身来解决我的问题。而不是检查复选框上的onclick事件并更改值。我创建了一个名为“calculate”的按钮,它迭代所有复选框并计算已检查的值。然后通过该按钮上的onclick事件编辑最终值。

非常感谢大家试图帮助我,我很感激。

答案 1 :(得分:0)

记得加载cordava文件:<script type="text/javascript" src="cordova.js"></script>

答案 2 :(得分:0)

查看你的config.xml文件。有没有像

这样的行
<access origin="http://127.0.0.1*" />

和执行checkbox-trick的php脚本不在127.0.0.1? 然后将该行更改为

<access origin="*" />

访问php文件所在的远程主机。

LG

fastrde