Моя функция генерирует таблицу с $ data из запроса mysqli, запрашивающего имена подфайлов.работает PHP-код в событии onclick
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>";
}
Когда текст щелкнул Проверяется varibale форум установлен чат и если установлено, я хочу, чтобы скрыть 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.
Я полагаю, что это имеет какое-то отношение к последовательности моего документа, потому что я использую то же самое скрытие style.display = "none"
в других частях.
function sub_forum_hide(){
document.getElementById("sub_forum").style.display = "none";
}
Я попытался переместить sub_forum_hide() в нижней части моего документа, но я все еще получаю ту же ошибку. Только для справки «установлено» echo работает, когда я нажимаю текст.
Я заметил, что в вашем верхнем фрагменте кода вы устанавливаете идентификатор 'sub_forums' (множественное число), а потом пытается спрячьте его с помощью идентификатора '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 при попытке взаимодействия с этими элементами. –
Кроме того (на основе вашего названия) единственный способ запустить PHP-код с помощью JavaScript - это использовать AJAX. –