проблема с объектом "radio"

  • Автор темы deadt04ka
  • Дата начала
D

deadt04ka

#1
Вот у меня есть форма.. в которой 3 объекта радио с одинаковыми именами... т.е. name=R1 во всех 3-ех случаях.. как мне получить значение того объекта , который выбран... т.е. checked ,
document.имя формы.R1.value почему-то выдаед всё всемя одно и то-же значение.. undefined!
пожалуйсто подскажите мне при помощи какой функции можно это узнать!
 
D

deadt04ka

#3
А подробнее...
пример...
Вот у меня есть 3 обьекта радио и имена 3-ех равны R1 R1 R1
а значение первого - A , второго - Б и третего - С!
 
D

Dzmitry Kalesnikau

#4
Вот рабочий пример обращения к объектам формы, не зная их имени:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>

<script>
function alert_chk(){
a=document.forms[0];
if (a.elements[0].checked) { alert('отмечен первый, со значением '+a.elements[0].value) } else
{
if (a.elements[1].checked) { alert('отмечен второй, со значением '+a.elements[1].value) } else
{
if (a.elements[2].checked) { alert('отмечен третий, со значением '+a.elements[2].value) }
}
}
}
</script>

<body>

<center><form>
<p><input type="radio" value="A" checked name="R1">
<input type="radio" value="B" name="R1">
<input type="radio" value="C" name="R1"></p>
<p><input type="button" onclick="alert(document.forms[0].elements[0].value)" value="знач. перв."></p>
<p><input type="button" onclick="alert(document.forms[0].elements[1].value)" value="знач. втор."></p>
<p><input type="button" onclick="alert(document.forms[0].elements[2].value)" value="знач. трет."></p>
<p><input type="button" onclick="alert_chk()" value="значение отмеченного"></p>
</form></center>

</body>
</html>
 
A

Andrew Stephanoff

#6
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<script type="text/javascript">
function showCheckedValue(sGroup, sType) {
if (sType == undefined) { var sType = 'radio'; }
if (sType == 'checkbox') { var arrValues = []; }

var arrInputs = (typeof(sGroup) == 'string') 
? document.getElementById(sGroup).getElementsByTagName('INPUT')
: sGroup.getElementsByTagName('INPUT');

for (var i = 0, count = arrInputs.length; i < count; i ++) {
if (arrInputs[i].type == sType && arrInputs[i].checked) {
if (sType == 'radio')	{ return arrInputs[i].value; }
if (sType == 'checkbox') { arrValues[arrValues.length] = arrInputs[i].value; }
}
}

return (sType == 'checkbox' && arrValues.length > 0) ? arrValues : false;
}
</script>

<fieldset id="groupStates">
<legend>Select state:</legend>
<div><label><input type="checkbox" name="state[]" value="AL" /> Alabama</label></div>
<div><label><input type="checkbox" name="state[]" value="NY" /> New-York</label></div>
<div><label><input type="checkbox" name="state[]" value="CO" /> Colorado</label></div>
</fieldset>

<input type="button" value="Show checked value" onclick="alert(showCheckedValue('groupStates', 'checkbox'))" />

</body>
</html>
 
D

deadt04ka

#7
Теперь у меня такаяже проблема только с Selectom..
как в нем узнать , какое из значений выбрано и само это значение..
 
D

Dzmitry Kalesnikau

#8
Имеется ввиду так?
Код:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>

<body>

<form>
<p align="center"><select size="1">
<option value="первое">первое</option>
<option selected value="второе">второе</option>
<option value="третье">третье</option>
</select></p>
<p align="center"><input onclick="alert(document.forms[0].elements[0].value)" type="button" value="Кнопка"></p>
</form>

</body>

</html>
Или даже так:
Код:
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
</head>

<script>
function get_text(val)
{
if (val=='first'){Result=first.innerHTML}
if (val=='second'){Result=second.innerHTML}
if (val=='third'){Result=third.innerHTML}
}

function get_val()
{
a=document.forms[0].elements[0].value;
get_text(a);
alert(a+'\n'+Result);
}
</script>

<body>

<form>
<p align="center"><select size="1">
<option value="first" id="first">первое</option>
<option selected value="second" id="second">второе</option>
<option value="third" id="third">третье</option>
</select></p>
<p align="center"><input onclick="get_val()" type="button" value="Кнопка"></p>
</form>

</body>
</html>
 
D

deadt04ka

#9
Блин.. тут оказываеться и option значение присваивать надо.. спасибо.. я не знал :)