|
|
|
| не получается обратиться к значению переключателя <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>
|
подскажите как правильно | |
|
|
|
|
|
|
|
для: inga
(04.04.2007 в 16:55)
| | Похоже вы сами себя перехитрили.
И само решение простой задачи превратилось в
китайскую головоломку :)
Но у вас видимо вместо f.otvet[i].value
должно быть f.elements['otvet'+i][0].value
(это как минимум) | |
|
|
|
|
|
|
|
для: 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 первого инпута, если во второй, то соответственно второго. | |
|
|
|