Прошу помощи по ява скриптам

D7
На сайте с 26.02.2006
Offline
5
575

Задача вот в чем.

есть лист бокс:

<SELECT NAME="type">

<option value="video">Video</option>

<option value="link">Link</option>

</SELECT>

вотю нужно при выборе значения "video" отображалось поле

<input type="file">

а при выборе значения "Link" отображалось поле

<input type="text">

спасибо

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#1

Приблизительно так:


<script type="text/javascript">
function showInput()
{
if(document.getElementById('__type').value == 'video')
{
document.getElementById('__file').style.display = 'block';
document.getElementById('__text').style.display = 'none';
}
else
{
document.getElementById('__file').style.display = 'none';
document.getElementById('__text').style.display = 'block';
}
}
</script>



<select name="type" id="__type" onchange="showInput();">
<option value="video">video</option>
<option value="link">link</option>
</select>



<div id="__file">
<input type="file"> .....
.....
</div>

<div id="__text" style="display:none;">
<input type="text"> .....
.....
</div>
• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
D7
На сайте с 26.02.2006
Offline
5
#2

СКОРПИОН, к сожалению не работает :( но за наводку на onChange спасибо :)

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#3

D5Rj7WD, я же написал - приблизительно.

Там скобка была в if не закрыта - теперь работает, проверил...

Коля Дубр
На сайте с 02.03.2005
Offline
153
#4

СКОРПИОН, тот же код, но в несколько раз короче. Хвала тернарному оператору =)


function $(node) {return document.getElementById(node);}
function showInput(sel) {
$('__file').style.display = (sel.value == 'video') ? 'block' : 'none';
$('__text').style.display = (sel.value == 'video') ? 'none' : 'block';
}

Ну и вызывать так: onchange="showInput(this);"

Обычно с таким кодом проблем меньше, хотя, конечно, кому как удобнее =)

Разрабатываю общую шину (http://habrahabr.ru/company/floxim/blog/268467/) помаленьку. ...а еще у меня есть бложек (http://www.blogovo.ru/).

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