форма на яваскрипте, как сделать?

dayw
На сайте с 25.01.2006
Offline
116
355

Доброе время суток!

Есть три кнопки:

<input type="radio" value="V1" name="R1">

<input type="radio" value="V2" name="R1">
<input type="radio" value="V3" checked name="R1">

Нужно, чтобы при определенном выборе, ниже появлялись поля для ввода, разные. Например:

Загрузилась страница, по-умолчанию, выбрана первая radio кнопка и ниже текст какой то и два поля для ввода, если выбрана вторая кнопка, то ниже изменились поля(уже отображается 3 поля) и другой текст и аналогично с третьей кнопочкой.

Это должно работать без перезагрузки страницы и без аякса. Есть где то готовые решения(можно и ссылочку на сайт, посмотрю пример реализации)?

Надеюсь понятно пояснил

Интернет-магазин игровых приставок в Москве (https://savelagame.ru)
Stalser
На сайте с 04.12.2008
Offline
100
#1

Вот, набросал пример реализации. В блоках нужно расположить необходимые элементы формы (кнопки, поля для ввода и т.п.)

<html>

<head>
<title>Тест</title>
<script type="text/javascript">
function changeText(id) {
for (var i = 1; i <= 3; i++) {
if (i == id) {
var divEl = document.getElementById('div' + i).style.display = 'block';
} else {
var divEl = document.getElementById('div' + i).style.display = 'none';
}
}
}
</script>
</head>
<body>

<form method="post">
<input type="radio" name="R1" value="V1" onchange="changeText(1);" />Первый блок<br />
<input type="radio" name="R1" value="V2" onchange="changeText(2);" />Второй блок<br />
<input type="radio" name="R1" value="V3" checked="checked" onchange="changeText(3);" />Третий блок<br />

<div id="div1" style="display: none;">Блок 1</div>
<div id="div2" style="display: none;">Блок 2</div>
<div id="div3">Блок 3</div>
</form>

</body>
</html>

Думаю, должно быть понятно. Если нужно, поясню все моменты

dayw
На сайте с 25.01.2006
Offline
116
#2

Спасибо, но в IE6 вообще работает от балды :) можете поправить ошибку? Даже не могу понять, почему криво работает в нем

Stalser
На сайте с 04.12.2008
Offline
100
#3

Ммм, ИЕ6 у меня нет, но в 7 тоже не так работает )). Возможно дело в событии onchange. Я на практике использую в основном prototype, а этот код набросал быстренько, и сейчас, увы, разбираться времени нет, тороплюсь на поезд, вернусь только через 2 дня...

dayw
На сайте с 25.01.2006
Offline
116
#4

Спасибо, решил заменой события на "onclick"

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