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

HTML+CSS+JavaScript

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

 

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

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

тема: Вывод значение переключателя <input type='radio'>
 
 автор: inga   (04.04.2007 в 16:55)   письмо автору
 
 

не получается обратиться к значению переключателя <input type='radio'>
вот код:

<form name="f" action="" method="get">
<script>
var a = new Array();
a[a.length]={ vopros: "Столица Швеции?", variant1: "Стокгольм", variant2: "Осло", var1: 1, var2: 2, prav:1 };
a[a.length]={ vopros: "Столица Эстонии?", variant1: "Рига", variant2: "Таллинн", var1: 1, var2: 2, prav:1 };
a[a.length]={ vopros: "Столица Венгрии?", variant1: "Прага", variant2: "Будапешт", var1: 1, var2: 2, prav:2 };

for(var i=0 ; i<a.length ; i++){
document.write(a[i]["vopros"]+"<br>");
document.write("<input type='radio' name='otvet"+i+"' value='"+a[i]["var1"]+"'>"+a[i]["variant1"]+"<br>");
document.write("<input type='radio' name='otvet"+i+"' value='"+a[i]["var2"]+"'>"+a[i]["variant2"]+"<br><br>");
}
document.write("<input type='submit' value='Ok'>");

var c=0;
for(var i=0 ; i<a.length ; i++){
if(f.otvet[i].value==a[i]["var1"] )c=1;// вот тут ошибка с выводом значения переключателя f.otvet[i].value
if(f.otvet[i].value==a[i]["var2"])c=2;//соответственно и тут
document.write(f.otvet[i].value);
}

</script>
</form>

подскажите как правильно

   
 
 автор: RMW   (04.04.2007 в 21:09)   письмо автору
 
   для: inga   (04.04.2007 в 16:55)
 

Похоже вы сами себя перехитрили.
И само решение простой задачи превратилось в
китайскую головоломку :)
Но у вас видимо вместо f.otvet[i].value
должно быть f.elements['otvet'+i][0].value
(это как минимум)

   
 
 автор: ilyaILF   (04.04.2007 в 21:15)   письмо автору
 
   для: inga   (04.04.2007 в 16:55)
 

Если я правильно понял то, что вы хотите получить, то во-первых должен быть выбран один из <input type='radio'> в каждой паре из трех, т.е. иметь атрибут checked='checked'.
<form name='f' action='' method='get'>
<script> 
var a = new Array(); 
a[a.length]={ vopros: "Столица Швеции?", variant1: "Стокгольм", variant2: "Осло", var1: 1, var2: 2, prav:1 }; 
a[a.length]={ vopros: "Столица Эстонии?", variant1: "Рига", variant2: "Таллинн", var1: 1, var2: 2, prav:1 }; 
a[a.length]={ vopros: "Столица Венгрии?", variant1: "Прага", variant2: "Будапешт", var1: 1, var2: 2, prav:2 }; 

for(var i=0 ; i<a.length ; i++){ 
document.write(a[i]["vopros"]+"<br>"); 
document.write("<input type='radio' name='otvet"+i+"' value='"+a[i]["var1"]+"'>"+a[i]["variant1"]+"<br>"); 
document.write("<input type='radio' name='otvet"+i+"' checked='checked' value='"+a[i]["var2"]+"'>"+a[i]["variant2"]+"<br><br>"); 

document.write("<input type='submit' value='Ok'>"); 

var c=0; 
for(var i=0 ; i<a.length ; i++){ 
if(!document.getElementsByName('otvet'+i)[0].checked) {c=2; document.write(document.getElementsByName('otvet'+i)[1].value);}
if(!document.getElementsByName('otvet'+i)[1].checked) {c=1; document.write(document.getElementsByName('otvet'+i)[0].value);}
}
</script>
</form>

Если аттрибут checked='checked' переместить в первый <input type='radio'> то будут выводиться значения атрибута value первого инпута, если во второй, то соответственно второго.

   
Rambler's Top100
вверх

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