Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > input type="radio"


Автор: Кит 10.12.2005, 23:16
Привет. Имеется форма с 2-мя радио-кнопками:
Фамилия и Имя
Код

<html>
<head>
<title>Анкета</title>
</head>
<body>
<form name="Anketa">
<P><FONT SIZE=6>Введите данные</FONT> <br> <br>
<input type="radio" name="Fam" value="1" > 
Фамилия<br>
<input type="radio" name="Fam" value="2" > 
Имя<br><br>
Фамилия <input type="text" name="Dannie" value="" > 
</form>
</body>
</html>


А как узнать какая радио-кнопка включена(Checked) если у них одинаковое имя Fam
Код

<script LANGUAGE="JavaScript"> 
function vozvrat () {
if  (document.forma1.Fam.checked) {запуск какой-то функции (включена первая радио-кнопка)}
if  (document.forma1.Fam.checked) {запуск другой функции (включена вторая радио-кнопка)}
}
</SCRIPT>

Выбор 2-ух сразу исключен. Тогда бы я просто использовала бы CheckBox.
Загвоздка в том как узнать включена ли Фамилия или Имя (ведь name у них должен
быть одинаковый (Fam) - для реализации выбора только одного) smile

Автор: Zeroglif 11.12.2005, 01:30
Цитата
Загвоздка в том как узнать включена ли Фамилия или Имя (ведь name у них должен быть одинаковый (Fam) - для реализации выбора только одного)

Получить ссылку на радио-кнопку по её имени - это далеко не единственный вариант. В вашем случае можно пробежаться по всем elements заданной form и отловить тот у которого имя Fam и свойство checked равно true. Что-нибудь вроде этого:

Код

    function vozvrat()
    {
      var e, i=0;
      while (e=document.Anketa.elements.item(i++)) if (e.name=='Fam' && e.checked) alert('checked, value='+e.value);
    }


Автор: Кит 11.12.2005, 09:39
Zeroglif. Спасибо.
А как данную функцию переписать на VBScript.
Что у меня не так

<script LANGUAGE="VbScript">
dim i
dim e
sub vozvrat
i=0
do while i<6
e=document.Anketa.elements.item(i)
if e.name="Fam" and (e.value=1) then (какая-то функция написаная на VBScript)
Loop
end sub
</SCRIPT>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)