1. ホーム
  2. javascript

[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない

2022-01-20 10:59:38

質問

このコードでエラーが発生します。私は、ページがロードされたときに、イベントを実行するイベントをしようとしています。しかし、問題は私が他の関数に行くとき、しかし同じページ、それはその変数にNULLのエラーを取得します。このコードを実行するときは問題ないのですが、私のコードの他の部分にあるときにこのエラーが発生します。

Uncaught TypeError: nullのプロパティ'value'は読めません

$(document).ready(function(){


      var str = document.getElementById("cal_preview").value;
      var str1 = document.getElementById("year").value;
      var str2 = document.getElementById("holiday").value;
      var str3 = document.getElementById("cal_option").value;


        if (str=="" && str1=="" && str2=="" && str3=="" )
          {
            document.getElementById("calendar_preview").innerHTML="";
              return;
            } 
          if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
          }
          else
          {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }

          xmlhttp.onreadystatechange=function()
          {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
              {
                document.getElementById("calendar_preview").innerHTML=xmlhttp.responseText;
              }
          }

        var url = calendar_preview_vars.plugin_url + "?id=" + str +"&"+"y="+str1+"&"+"h="+str2+"&"+"opt="+str3;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(); 


 });

解決するには?

わからない {を使用します。 どの のうち、HTMLが提供されていないので間違っていますが、このうちの1つは存在しません。

var str = document.getElementById("cal_preview").value;
var str1 = document.getElementById("year").value;
var str2 = document.getElementById("holiday").value;
var str3 = document.getElementById("cal_option").value;

を持つ要素が存在しないか、または、id cal_preview, {コード {コード , {コード , {コード またはその組み合わせ。

したがって、JavaScriptは存在しないものの値を読み取ることができない。

EDIT :

まず要素が存在するかどうかを確認したい場合は、それぞれにif文を使用するとよいでしょう。

year

必要であればelse文を変更したり、else文を全く使用しないことも当然可能ですが、それはすべて好みの問題です。