Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Умножить элемент result (https://javascript.ru/forum/misc/36659-umnozhit-ehlement-result.html)

Findail 23.03.2013 19:47

Умножить элемент result
 
<form name="form"  onclick="price(this)">
<b  align="center">Вид профиля</b>
<br>
<table>
<tr>
<input type="text" id="a" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) * (parseFloat(document.getElementByid('b').value)||0)">
<br>
<input type="text" id="b" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) * (parseFloat(document.getElementById('a').value)||0)">
<br>
<output id="result"></output>
<br>
</tr>
<tr>
    <input type="radio" value="200" name="iadro" id ="R1"/>  &nbsp; <b align="center"> R_1 профиль </b>
<br>
    <input type="radio" value="100" name="iadro" id ="R4"/>  &nbsp; <b align="center"> R_4 профиль </b>
<br>
</tr>

Как умножить result на выбранное значение пользователем в input type="radio" name="iadro"

function price(form) {
var iadro = 0;
if(document.getElementById('R1').checked) {
iadro=parseFloat(form.R1.value);
}
if(document.getElementById('R4').checked) {
iadro=parseFloat(form.R4.value);
}

Опан 24.03.2013 02:15

Во первых, у функции price(form) нет закрывающей "}".
Во вторых имя переменной в этой функции нельзя называть одинаково с именем радиокнопки, т. е "iadro". Хотя бы "iadro1".
В третьих, эту переменную нужно объявить, как глобальную, т. е. без var.
В четвёртых, четвёртую и седьмую строчки JS-кода следует писать со словом document.:
iadro1=parseFloat(document.form.R1.value);

Ну, и в 6-ю и 8-ю строчки html-кода нужно добавить *iadro1 :
<input type="text" id="b" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) * (parseFloat(document.getElementById('a').value)||0)*iadro1">
:)
function price(form) {
   iadro1 = 0;
   if(document.getElementById('R1').checked) {
      iadro1=parseFloat(document.form.R1.value);
   }
   if(document.getElementById('R4').checked) {
      iadro1=parseFloat(document.form.R4.value);
   }
}


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