2016-11-18 12 views
1

PHP変数を使用して、ページが読み込まれたときにJavaScriptコマンドを実行しようとしています。JavaScriptでPHP変数を使用した読み込みエラー

私は、次のエラーを取得しています:

キャッチされない例外TypeError:Cannot read property 'style' of null(…)

<head> 
    //cut out some stuff here 
    <script> 
     function openTab(tabName) { 
      var i, tabcontent, tablinks; 
      tabcontent = document.getElementsByClassName("panel_wrapper"); 
      for (i = 0; i < tabcontent.length; i++) { 
       tabcontent[i].style.display = "none"; 
      } 
      tablinks = document.getElementsByClassName("tablinks"); 
      for (i = 0; i < tablinks.length; i++) { 
       tablinks[i].className = tablinks[i].className.replace(" active", ""); 
      } 
      document.getElementById(tabName).style.display = "block"; 
      console.log("fking debug "+tabName); 
     } 
    </script> 
</head> 
<body onload="openTab('<?php $_SESSION["loc"] ?>')"> 
    //cut out some stuff here too 
<body> 

を私は$_SESSION["loc"]をエコーたのだが、 "設定"、作業を行い、正しいタブ名です。変数を「設定」に置き換えることもできませんでした。

私は何かが設定されていないことを知っているので、それはnullです。それはスクリプトの前にPHPの読み込みと関係がありますか?

注:私はまだPHPには新しく、タブスクリプトコードはW3Schoolsです。

+0

:にその行を変更します。それがどのラインから来ているのかを調べ、いくつかのロギングを行います。 – aynber

+0

要素が存在しないため、間違ったIDを渡しているか、そこに存在しません – adeneo

+1

'<?php $ _SESSION [" loc "]?>' 'を<?php echo $ _SESSION ["loc"]?> ' – Howzieky

答えて

0

問題は、この行である:
<body onload="openTab('<?php $_SESSION["loc"] ?>')">
あなたは$_SESSION["loc"]にアクセスしているが、あなたはそれをエコーされていません。 [i]は `おそらく、nullのどちらか` tabcontent [i]は `や`タブのリンク

<body onload="openTab('<?php echo $_SESSION["loc"]; ?>')">

関連する問題