javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null

标签 javascript android jquery arrays local-storage

我正在使用 android 的phonegap-1.4.1 制作一个条形码扫描应用程序。我需要定义一个 n 数组 code[] ,它可以存储扫描的所有条形码文本,并且我需要定义一个变量 k ,它充当计数器,在之后加 1每次扫描,以便我可以将详细信息存储在 code[k] 中。这是我之前的 javascript 文件,我在其中定义了一个数组和一个变量计数器。

     localStorage["counter"]=0;
     var code = new Array(100);
     localStorage.setItem("code", JSON.stringify(code));

这是我的另一个 js 文件,我在其中调用存储的数组并将存储在该数组中的值打印为 "id"myvalue1 是扫描得到的条形码文本。

   var barcodeVal = localStorage.getItem("myvalue1");
   var test2 = localStorage.getItem("code");
   code = JSON.parse(test2);
   var k = parseInt(localStorage.getItem("counter"));
   code[k] = "code[k]";
   document.getElementById(code[k]).innerHTML = barcodeVal;
   k = k + 1;
   localStorage["counter"]=k;
   localStorage.setItem("code", JSON.stringify(code));

我一次又一次地调用条形码扫描功能。这就是为什么我使用数组来存储扫描的条形码的数据。这也是我的扫描 js 文件,它给出了 myvalue1

的值
 <script type="text/javascript">
  var scanCode = function () {
      window.plugins.barcodeScanner.scan(
          function (result) {

               alert("Scanned Code: " + result.text + ". Format: " + result.format + ". Cancelled: " + result.cancelled);
              localStorage.setItem("myvalue1", result.text);
              window.location.href = 'page5.html';

          }, function (error) {
              alert("Scan failed: " + error);
       });
  }

我收到的错误为 Uncaught TypeError: Cannot set property 'innerHTML' of null。我是phonegap和编码的新手。任何人请帮我解决这个问题。提前致谢。

最佳答案

您不需要跟踪变量k。 您可以使用以下脚本轻松管理所有条形码值。

请检查下面的 jsFiddle...运行两次你可以看到差异。

JSFiddle

<script>
function SaveDataToLocalStorage(barcodeValue)
{

    var oldItems = JSON.parse(localStorage.getItem('barcodes')) || [];
    var newItem = {
        'barcode': barcodeValue
    };
    oldItems.push(newItem);
    localStorage.setItem('barcodes', JSON.stringify(oldItems));

}
SaveDataToLocalStorage("123456879FFGG");
</script>

关于javascript - 未捕获的类型错误 : Cannot set property 'innerHTML' of null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24424208/

相关文章:

java - 使用 Android java 应用程序的 Cisco 交换机的 Telnet 客户端

javascript - 将静态 csv 数据加载到 Highcharts Highstock 图表中时如何更改线条颜色?

javascript - 具有放大图像功能的 jQuery 画廊

android - 从 android 相机图像中过滤红外源

android - 将依赖项升级到android中的最新版本后,应用程序崩溃

jquery - 删除动态创建的 li 标签

javascript - jquery窗口宽度问题

php - 如何通过 php 页面检索数据库值到 jquery 自动完成框

javascript - 页面中反射(reflect)的未验证输入的安全风险

javascript - ajax调用不显示上传图片