При нажатии на кнопку (ссылку) появляется форма, так правильно?

P
На сайте с 06.01.2009
Offline
592
10155

Друзья, прошу подсказать.

Я сделал такой код.


<?php
echo '<form method="POST" action="">';
echo '<input type="submit" value="отбор по параметрам" name="but">';
echo '</form>';

if ($_POST['but'] == true){
echo '<form action="эта страница.php" method="GET">';
echo '<b>м2</b>, в наличии <input type=text name=name>';
echo '<b>цена за м2</b> не более <input type=text name=name2>';
echo '<input type=submit value="GO!">';
echo '</form>';
}
?>

Но что мне не нравится - при нажатии кнопки "отбор по параметрам" страница обновляется и появляется форма отбора.

Можно ли как то этих лишних перезагрузок страницы избежать?

Спасибо заранее.

LinnTroll
На сайте с 12.01.2011
Offline
15
#1

Глупость вы какую-то сделали.

Вам нужно использовать JavaScript для этих целей, и избавтесь от кучи echo:


<?php
// some PHP code
?>
<a href="#" onclick="document.getElementById('my_form').style.display='block';">Show form</a>
<div id="my_form" style="display: none;">
<form action="эта страница.php" method="GET">
<b>м2</b>, в наличии <input type=text name=name>
<b>цена за м2</b> не более <input type=text name=name2>
<input type=submit value="GO!">
</form>
</div>
<?php
// some PHP code
?>
http://vps.ua/ (https://vps.ua/clients/aff.php?aff=201) - самый лучший хостинг.
kosenka
На сайте с 02.12.2007
Offline
122
#2

Вот пример http://www.plus2net.com/javascript_tutorial/hide-layer2.php (смотреть надо исходник страницы)

P
На сайте с 06.01.2009
Offline
592
#3

LinnTroll, а кнопку вместо ссылки не поможете сделать в Вами предложенном коде? Спасибо

ps Тему можно закрыть. Спасибо. Всё получилось.

LinnTroll
На сайте с 12.01.2011
Offline
15
#4

<button onclick="document.getElementById('my_form').style.display='block';">Show form</button>
вместо ссылки
P
На сайте с 06.01.2009
Offline
592
#5
LinnTroll:
<button onclick="document.getElementById('my_form').style.display='block';">Show form</button>
вместо ссылки

Спасибо большое. А то я сделал не так. Откорректировал.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий