[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: показать/скрыть форму
lexu
Добрый день!

Следующий код скрывает/раскрывает форму (по умолчанию скрыта):

<script type="text/javascript">
function
show(id) {
document.getElementById(id).style.display = document.getElementById(id).style.display == 'block'?'none':'block';
}
</script>

<a
href="#" onClick="show('s1_text')">Текст</a>
<div
id='s1_text' style='display:none'>
Текст
<form method="post">
<input
type="submit" name="submit" value="Выполнить">
</form>
</div>


Как осуществить, чтобы при нажатии на кнопку submit форма оставалась раскрытой? Скрыть/раскрыть выполнялось лишь при нажатии на ссылку.

Спасибо.



Спустя 1 час, 46 секунд (22.08.2010 - 20:00) waldicom написал(а):
А разве страница не перегружается при нажатии на submit?
Или надо, чтобы после отправки форма она на новой странице стала раскрытой?

Спустя 15 минут, 4 секунды (22.08.2010 - 20:16) lexu написал(а):
в том то и дело, что перезагружается.
да, нужно, чтобы она была уже раскрытой.

Спустя 3 часа, 50 минут, 2 секунды (23.08.2010 - 00:06) lexu написал(а):
есть решение этого?
для этого нужно юзать ajax?

Спустя 48 минут, 53 секунды (23.08.2010 - 00:54) waldicom написал(а):
Цитата (lexu @ 22.08.2010 - 23:06)
есть решение этого?
для этого нужно юзать ajax?

Есть решение, и их несколько: ставить куки, передавать переменную, что-то еще.\
В обоих вариантах нужно контролировать какой-то флаг и в зависимости от него выводить или не выводить "style='display:none'"

Спустя 7 часов, 47 минут, 13 секунд (23.08.2010 - 08:42) lexu написал(а):
<input type="submit" name="submit" value="Выполнить" onclick="document.getElementById('s1_text').style.display = block">

Это не работает.

Нужно присваивать некое значение переменной в PHP, а затем передавать ее в javascript и там проверять?

Можете немного по подробней?

Спустя 43 минуты, 33 секунды (23.08.2010 - 09:25) waldicom написал(а):
Цитата (lexu @ 23.08.2010 - 07:42)
Нужно присваивать некое значение переменной в PHP, а затем передавать ее в javascript и там проверять?

Да, можно и так. Например что-то типа этого:

<?php
$showForm = "style='display:none'";
if(isset($_POST['submit'])){
$showForm = '';
}
?>
.....
бля бля бля
.....

<
div id='s1_text' <?php echo $showForm ?> >
.......

Спустя 18 минут, 41 секунда (23.08.2010 - 09:44) lexu написал(а):
Спасибо, работает. Я позволил себе сделать так, но не суть.

<?php
$showForm = "style='display:none'";
$showForm = isset($_POST['submit'])?"style='display:none'":"style='display:block'";
?>

Спустя 34 минуты, 39 секунд (23.08.2010 - 10:19) lexu написал(а):
а можно каким-то образом избавиться от

?submit=%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C

в адресной сроке?

Спустя 4 минуты, 44 секунды (23.08.2010 - 10:23) phpdreamer написал(а):
поменять submit на button и задать событие onclick=document.forms[0].submit()
и вынести кнопку за форму

Спустя 7 минут, 47 секунд (23.08.2010 - 10:31) lexu написал(а):
спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.