私の関数は、サブフォーラム名を要求するmysqliクエリから$ dataを持つテーブルを生成します。テキストはvaribaleフォーラムが設定されているかどうかをチェックイムをクリックすると設定した場合、私はdiv要素を非表示にするonclickイベントでPHPコードを実行
function forum_links($data){
//print_r($data);
echo "<div id = 'sub_forums'>
<table>";
foreach($data as $name){
echo "
<tr>
<td id='sub_forum_image'>
<img src='images/favicon_text.ico' alt='MWGA'>
</td>
<td id='sub_forum_td'>
<a href='forum?forum={$name[0]}'>{$name[0]}</a>
</td>
</tr>";
}
echo "</table></div>";
}
「sub_forums」
<?php
if (isset($_GET['forum'])) {
echo "is set";
?> <script>sub_forum_hide();</script> <?php
}
?>
私は
を得ているエラーUncaught TypeError: Cannot read property 'style' of null.
これは私の文書のシーケンシングと関係があると思います。なぜなら、他の部分に全く同じhide style.display = "none"
を使用しているからです。
function sub_forum_hide(){
document.getElementById("sub_forum").style.display = "none";
}
私は、ドキュメントの一番下にsub_forum_hide()を移動しようとしましたが、同じエラーが表示されます。ちょうど参照のために私がテキストをクリックするとエコーは機能します。
を使用する必要があります私はあなたの一番上のスニペットでは、あなたが 'sub_forums'(複数)にIDを設定しているし、後でしようとしていることに気づいていますID「sub_forum」(単数)を使用してそれを非表示にします。 – claywhipkey
[IDはユニークでなければならない](http://stackoverflow.com/questions/5611963/can-multiple-different-html-elements-have-the-same-id-if-theyre-different-eleme)これらの要素と対話しようとすると[JavaScript](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)とCSSで問題が発生します。 –
さらに、(タイトルに基づいて)JavaScriptでPHPコードを実行する唯一の方法は、AJAXを使用することです。 –