繁体   English   中英

Phonegap:我的Javascript代码可在浏览器上使用,但不能在Android模拟器或设备上使用

[英]Phonegap: My Javascript code works on browsers but it doesn't work on Android emulator or device

我正在尝试使用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,因此当我认为单击复选框时,实际上是单击标签,然后它将生成一个触发复选框的事件)

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

此代码可在Web浏览器(如FireFox)上完美运行。 但是当我使用Eclipse将其安装在Android设备上时,它无法运行。 无论我如何单击复选框。 div的值不变。

我可以通过转身解决问题。 而不是选中复选框上的onclick事件并更改值。 我制作了一个名为“计算”的按钮,该按钮会在所有复选框上进行迭代并计算已选中复选框的值。 然后通过该按钮上的onclick事件编辑最终值。

非常感谢大家为我提供的帮助,对此我深表感谢。

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

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

<access origin="http://127.0.0.1*" />

和复选框技巧的PHP脚本不在127.0.0.1中? 然后将该行更改为

<access origin="*" />

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

lg

法斯特

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM