Как сделать что бы при нажатии на checkbox появлялись бы текст. поля?

  • Автор темы Автор темы Bboy
  • Дата начала Дата начала

Bboy

Новичок
Как сделать что бы при нажатии на checkbox появлялись бы текст. поля?

Есть чекбокс. Под ним идут разные эл-ты: лист боксы, кнопки...., надо что бы при нажатии на чекбокс между ним и всеми этими элементами появлись бы текстовые поля. Как это можно сделать?:confused:
 
А событиями и слоями пользоваться умеешь ? Текстовое поле помешаешь в слой, что типа тега <DIV ID="sloj"> и указываешь атрибуты и типа visible: none;..... а на чекбоксе код пишешь события что вроде OnClick="sloj.visible=true"; посмотри хелпу по слоям.... думаю, алгоритм понятен =)
 
1. создаешь скрытый слой <div id=textform1 style='visibility:hidden;display:none'>Тут размещаешь всё что тебе нужно</div>. причем для IE && NS аттрибуты visibility разные.

2. на чекете пишишь

onchange="javascript:error_on('textform1'); if (this.value=='') error_off('textform1') "

3. И на JAVA пишишь

function error_on(id) {
var id;
document.all[id].style.visibility="hidden";
document.all[id].style.display="none";

}

function error_off(id) {
var id;
document.all[id].style.visibility="visible";
document.all[id].style.display="block";

}


Вот такой простой-быстрый пример. Разбирайся!
 
делай блок в котором будут скрытые элементы (table, div, p ...) и в нем style="display:none", т.е. <table id="htb1" style="display:none">...

затем в checkbox onClick="show(this.checked)"

function show(action)
{
document.getElementById('htb1').style.display = action?'block':none;
}

-~{}~ 16.06.04 17:05:

>>hoster И на JAVA пишишь

не путайте людей, они ведь вам могут поверить
 
Bboy, если я правильно понял, те элементы формы, которые по дефолту под чекбоксом, при появлении дополнительных полей должны вниз сместиться? Если так - слои не нужны. Только переопределять display, как пишет Tigr.

hoster, извини, но твой пример устарел года на 3. NS вместе со своими нестандарнтными атрибутами давно умер, а document.all уступил место document.getElementById() - в отличие от all, оно работает и в Мозилле, и в Опере. А visibility="hidden", если и так display="none" - ненужная перестраховка.
 
Originally posted by Tigr
делай блок в котором будут скрытые элементы (table, div, p ...) и в нем style="display:none", т.е. <table id="htb1" style="display:none">...

затем в checkbox onClick="show(this.checked)"

function show(action)
{
document.getElementById('htb1').style.display = action?'block':none;
}

Спасибо большое, заработало!!!
:D :D :D
Только вот одно маленькое "но"! Страница загрузилась, нажал я на чекбоксе, все что надо появилось (причем нижние элементы съехали как и надо!), потом еще раз нажал... в левом нижнем углу IE появляется сообщение об ошибке. Как это можно исправиьт в сторону того, что бы при "выключении" чекбокса <table id="htb1"... становилось бы снова невидимой??? Ну или в крайнем случае хотя бы что бы ошибки не было.
 
Bboy,

...display = action?'block':'none';

('none' тоже должно быть в кавычках)
 
Сверху