Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   получить значение выбранной радиокнопки (https://javascript.ru/forum/misc/14969-poluchit-znachenie-vybrannojj-radioknopki.html)

mak_ 07.02.2011 23:12

получить значение выбранной радиокнопки
 
Пытаюсь сделать простейший калькулятор. В итоге будет три поля инпут (назовём a,b,c) и два с радиокнопками (d,e). Как считать инпуты -- более-менее понятно, а с радиокнопками встал.. Конечная формула a*b*c+d*e.

Прилагаю текст, закомментирована надыбанная в интернете не заработавшая часть с циклом для определения выбора радиокнопки.

<HTML>
<HEAD><TITLE></TITLE></HEAD>
<script language="JavaScript">

//function getRadioValue() {
//for(i = 0; i < radio.length; i++){
//if(radio[i].checked)
//return radio[i].value
//}
//return 0;
//}

//var marb=getRadioValue("marb");

function calculate()
{

result.value=(dlina.value*shirina.value);
}

</script>

<form name=ws>
<input id="dlina" size="38"> Длина <br />
<input id="shirina" size="38"> Ширина <br />
<input id="lobik" size="38"> Профиль <br />

<div id="6">
<p><input type="radio" name="marb" value="5000" id="6" /><label for="6">6</label></p>
<p><input type="radio" name="marb" value="6000" id="7" /><label for="7">7</label></p>
<p><input type="radio" name="marb" value="7000" id="8" /><label for="8">8</label></p>
<p><input type="radio" name="marb" value="8000" id="9" /><label for="9">9</label></p>
<p><input type="radio" name="marb" value="9000" id="10" /><label for="10">10</label></p>
</div>

<input id="result" size="38">
<input type="button" value=" Рассчитать " onclick="calculate()">
</form>
</BODY>
</HTML>


Заранее спасибо.
Извиняюсь за примитивность вопроса, программирование для меня началось и закончилось институтским курсом по си, интернет и форум лопатил два дня..

dmitriymar 07.02.2011 23:24

вместо этого
//function getRadioValue() {
//for(i = 0; i < radio.length; i++){
//if(radio[i].checked)
//return radio[i].value
//}
//return 0;
//}

//var marb=getRadioValue("marb");
вот это

var  marb="";
function getRadioValue() {
for(i=6;i<=10;i++)
{
if(document.getElementById("i").value!="")  marb=document.getElementById("i").value;
}
}



и где функция getRadioValue() вызываеться? наверно предполагалось что при подсчёте?
function calculate()
{
getRadioValue();
document.forms.ws.result.value=document.getElementById("dlina").value*document.getElementById("shirina").value);
}

и в придачу-отключить у формы отправку данных-чтобы при нажатии на ввод не отравила с частью пустых полей,
ну и соответственно проверки на пустые значения при отправке по кнопке

ну или как вариант просто внести эту строчку -var marb=getRadioValue("marb");во внутрь
function calculate()
{
-сюда
result.value=(dlina.value*shirina.value);
}
)))

ksa 07.02.2011 23:26

Цитата:

Сообщение от mak_
Как считать инпуты -- более-менее понятно, а с радиокнопками встал.

И чем же они оказались сложнее "инпутов"?

mak_ 07.02.2011 23:38

dmitriymar,
спасибо, попробую

ksa,
Цитата:

программирование для меня началось и закончилось институтским курсом по си
:)

псевдочеловек 08.02.2011 01:42

есть такой вариант, было подобное недавно.
function sendtowall() {
theGroup = document.forma.selected;
for (i=0; i< theGroup.length; i++) {
if (theGroup[i].checked) {
sendwallwindow(theGroup[i].value);
break;
}
}
}


Часовой пояс GMT +3, время: 16:09.