Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: скрытие части формы
 
 автор: Slo_Nik   (05.04.2009 в 21:40)   письмо автору
 
 

подскажите, пожалуйста, код на javascript для скрытия части формы.
задача состоит в том, что после заполнения обязательных полей формы, пользователь может кликнуть на ссылку "дополнительная информация" и должна появиться остальная часть формы.
в javascript не разбираюсь, пытался найти на форуме самостоятельно код, но ни чего подходящего не нашёл(или плохо искал :) )
заранее благодарю

  Ответить  
 
 автор: PAT   (06.04.2009 в 01:21)   письмо автору
 
   для: Slo_Nik   (05.04.2009 в 21:40)
 

Вариантов несколько.
Например:
1. Если скрытые поначалу поля находятся в HTML-коде рядом (одной группой), то можно
поместить их в один невидимый <div>, а по нажатию на ссылку "Доп.информация" этот <div> станет
видимым.
<form>

<!-- Видно сразу -->
<input><br>
<textarea></textarea><br>
<input><br>
<!--  -->

<a href="#" onclick="document.getElementById ('hid_1').style.display = 'block'; return false">Доп.информация</a>

<!-- Поначалу не видно -->
<div id="hid_1" style="display: none">
<input><br>
<textarea></textarea><br>
<input><br>
</div>
<!--  -->

</form>
Разумеется, таковых "скрытых" групп может быть несколько. Соответственно, будет
несколько дивов с id="hid_2", id="hid_3" и т.д. и столько же ссылок, кои будут стиль этих дивов
менять.


2. Если скрытые поначалу поля в HTML-коде перемешаны с видимыми и их нельзя объединить
в одну группу, то надо этим полям дать одно имя класса (невидимого). А по ссылке скрипт
пробежится по ВСЕМ полям формы и изменит нужным полям их класс на видимый.
<style>
.cH_1 {display: none} 
.vid {display: inline} 
</style>
<form name="myForm">

<!-- Видно сразу --><input><br>
<!-- Видно сразу --><textarea></textarea><br>
<!-- Поначалу не видно --><input class="cH_1"><br>
<!-- Поначалу не видно --><input class="cH_1"><br>
<!-- Видно сразу --><textarea></textarea><br>
<!-- Поначалу не видно --><input class="cH_1"><br>

<a href="#" onclick="for (var x = document.forms.myForm.elements, j = 0; j < x.length; j++) {if (x [j].className == 'cH_1') x [j].className = 'vid'} return false">Доп.информация</a>

</form>
И здесь тоже можно иметь несколько групп классов невидимости cH_2, cH_3... и
соответственное количество ссылок, которые будут открывать разные группы.

3. Можно также новые элементы полей динамически добавлять в форму. Т.е. изначально их в HTML-коде
вовсе не будет. А по нажатию на ссылку они там вновь создадутся. Но, по большому счёту, - это уже
извращение с целью "выкоебнуться".
Об этом способе я писал раз двадцать. Например, здесь -
http://www.softtime.ru/forum/read.php?id_forum=4&id_theme=48640 - см. сообщения от CNT
(мой старый ник).

Есть и ещё способы...

  Ответить  
 
 автор: Slo_Nik   (06.04.2009 в 13:15)   письмо автору
 
   для: PAT   (06.04.2009 в 01:21)
 

благодарю за подсказку, помог первый вариант.

  Ответить  
 
 автор: pav4   (04.09.2009 в 11:17)   письмо автору
 
   для: Slo_Nik   (06.04.2009 в 13:15)
 

пользовался первым вариантом пока не понадобилось скрыть строку в таблице т.е почему то <tr><td> теги скрыть не получается? как быть?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования