Если вы в порядке с использованием Javascript, присвойте тегу table
атрибут id
. Затем, на кнопке должно быть событие onclick
, которое меняет CSS table
на display:none
. Измените Javascript кнопки, чтобы при следующем нажатии на нее table
CSS переключался на display:table
. Для этого вы также можете использовать библиотеку Javascript, например Prototype .
<table id="myTable">
</table>
<input id="toggleButton" type="button" onclick="hideTable(true);" value="Toggle Table" />
И Javascript может быть:
function toggleDisplay(var hide) {
if (hide) {
document.getElementById('myTable').style.display = "none";
document.getElementById('toggleButton').onclick = hideTable(false);
} else {
document.getElementById('myTable').style.display = "table";
document.getElementById('toggleButton').onclick = hideTable(true);
}
}
Возьми этот Javascript с крошкой соли; Я давно ничего не писал.
Если вы не хотите использовать Javascript, попросите кнопку отправить обычную HTML-форму. Передайте в форме некоторое имя ввода, например hide_table
со значением true
. На сервере, если $_POST['hide_table'] == "true"
, не разрешать вывод таблицы в виде HTML на страницу. Кроме того, переключите форму таким образом, что при нажатии на кнопку будет отправлено hide_table
со значением false
.
<form method="post" action="the_same_page.php">
<input type="hidden" name="hide_table" value="<?php echo $_POST['hide_table'] == "true" ?>" />
<input type="button" value="Toggle Table" />
</form>
<?php if ($_POST['hide_table'] != "true") { ?>
<table>
</table>
<?php } ?>
Если вы хотите использовать AJAX для загрузки содержимого таблицы только тогда, когда пользователь решит показать его, было бы неплохо сделать это изящным. Если у пользователя не включен Javascript, форма должна быть отправлена на сервер и перезагрузить страницу, переключая отображение таблицы. Однако, если у пользователя включен Javascript, можно выполнить вызов AJAX, загрузить таблицу и отобразить ее на месте.