Ошибка: TypeError: не удается установить для свойства ‘innerHTML’ значение null в phonegap

#javascript #html #cordova #phonegap-plugins

#javascript #HTML #кордова #phonegap-плагины

Вопрос:

Вот мой файл javascript ниже, и я получаю сообщение об ошибке «Ошибка: TypeError: не удается установить для свойства ‘innerHTML’ значение null» . Какие изменения я должен внести, чтобы он работал нормально. Заранее спасибо. Пожалуйста, помогите.

 var scanCode = function() {
window.plugins.barcodeScanner.scan(
    function(result) {

    alert("Scanned Code: "   result.text 
              ". Format: "   result.format
              ". Cancelled: "   result.cancelled);
            document.getElementById("d").innerHTML="result.text";
            window.location.href = 'page5.html';

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

Я получаю ошибку как:

 06-24 11:55:08.130: W/FlashlightManager(7817):  at   java.lang.reflect.Method.invoke(Method.java:511)
06-24 11:55:08.130: W/FlashlightManager(7817):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-24 11:55:08.130: W/FlashlightManager(7817):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-24 11:55:08.130: W/FlashlightManager(7817):  at dalvik.system.NativeStart.main(Native Method)
06-24 11:55:08.540: D/OpenGLRenderer(7817): Flushing caches (mode 0)
06-24 11:55:08.870: D/OpenGLRenderer(7817): Flushing caches (mode 0)
06-24 11:55:14.920: D/PhoneGapLog(7817): Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null
06-24 11:55:14.920: D/PhoneGapLog(7817): file:///android_asset/www/phonegap-1.4.1.js: Line 692 : Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null
06-24 11:55:14.930: I/Web Console(7817): Error in success callback: BarcodeScanner2 = TypeError: Cannot set property 'innerHTML' of null at file:///android_asset/www/phonegap-1.4.1.js:692
 

вот HTML-код, в котором я вызываю вышеупомянутую js-функцию

 <!DOCTYPE HTML>
  <html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
   <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no,   width=device-width">
     <title>Bar Code Scanner</title>
   <link rel="stylesheet" href="main.css" type="text/css">

  <script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
  <script type="text/javascript" src="barcodescanner.js"></script>
   <script type="text/javascript" src="main.js"></script>
  </head>
  <body id="stage" class="theme">
   <h1>Barcode Scanner and Encoder</h1>
   <h2>PhoneGap Barcode Scanner Plugin</h2>

    <a href="#" class="btn" onclick="scanCode();">Scan Code</a>


 </body>
 </html>
 

и вот еще один html-файл, в котором мне нужно распечатать результат.

 <!doctype html>
 <html>
 <head>
<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
 <script type="text/javascript" src="main.js"></script>
   </head>
   <body>
       <p id="d"></p>
       </body>
      </html>
 

Комментарии:

1. В сообщении об ошибке сообщается, что элемент с идентификатором d не существует.

2. Итак, как я должен это определить? Я новичок. Я действительно не знаю. Пожалуйста, помогите

3. Вы добавляете элемент на свою HTML-страницу. Что-то вроде <div id="d"></div> .

4. Я добавил этот элемент, но все равно получаю сообщение об ошибке

5. Попробуйте переместить вызовы скрипта непосредственно перед </body> тегом.

Ответ №1:

Попробуйте это ::

Page1.html:

   <!DOCTYPE HTML>
  <html>

  <head>
      <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
      <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no,   width=device-width">
      <title>Bar Code Scanner</title>
      <link rel="stylesheet" href="main.css" type="text/css">

      <script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>
      <script type="text/javascript" src="barcodescanner.js"></script>
  </head>

  <body id="stage" class="theme">
      <h1>Barcode Scanner and Encoder</h1>
      <h2>PhoneGap Barcode Scanner Plugin</h2>

      <a href="#" class="btn" onclick="scanCode();">Scan Code</a>


  </body>
  <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("myvalue", result.text);
                  window.location.href = 'page2.html';

              }, function (error) {
                  alert("Scan failed: "   error);
              });
      }
  </script>

  </html>
 

Page2.html

 <!DOCTYPE html>
<html lang="en">

  <head>
      <title>Checkd Control</title>
      <meta charset="UTF-8">
      <script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>

  </head>

  <body>
      <p id="d"></p>
  </body>
  <script type="text/javascript">
      var barcodeVal = localStorage.getItem("myvalue");
      document.getElementById("d").innerHTML = barcodeVal;
  </script>

</html>
 

Комментарии:

1. Когда я запускаю следующий код, я получаю сообщение об ошибке «scanCode не определен».

2. Извините, я вас не понял. Я попробовал ваш ответ, но не смог обнаружить функцию scanCode ().

3. отредактируйте свой вопрос, вставьте полный код js или html