簡體   English   中英

未捕獲的TypeError:無法將屬性'innerHTML'設置為null

[英]Uncaught TypeError: Cannot set property 'innerHTML' of null

我正在使用用於Android的phonegap-1.4.1制作條形碼掃描應用程序。 我需要定義一個數組code[] ,它可以存儲所有掃描的條形碼文本,並且我需要定義一個變量k ,該變量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的錯誤Uncaught TypeError: Cannot set property 'innerHTML' of null 我是電話和編碼的新手。 有人請幫我解決這個問題。 提前致謝。

您無需跟蹤變量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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM