PDA

Просмотр полной версии : Почему не суммируется?


badboychik
09.07.2007, 19:47
Подскадите, почему при суммировании нескольких переменных у меня получается не 2+3=5, а 2+3=23???
как мне изменить тип данных a и b???
<TITLE> type_Document_Title_here </TITLE>
<!--Created by Nicholas -->
<script LANGUAGE="JavaScript">
var
a,b,z;
function calc()
{
a=forma.menu1.value;
document.forma.chislo.value =a;
alert("a is"+" "+ typeof(a));
b=forma.menu2.value;
document.forma.chislo2.value =b;
alert("b is"+" "+ typeof(b));
z=(eval(a+b));
document.forma.summa.value =z;
alert("z is"+" "+ typeof(z));
}
</script>
</HEAD>
<BODY>
<form METHOD="get" NAME="forma" >
<SELECT onchange="calc()" name=menu1>
<OPTION VALUE="6.55" >калькулятор</OPTION>
<OPTION VALUE="1" >ручка</OPTION>
<OPTION VALUE="2" >сигарета</OPTION>
<OPTION VALUE="3" >зажигалка</OPTION>
<OPTION VALUE="4" >лампа</OPTION>
</select>
<INPUT ALIGN="right" style="WIDTH: 50px" readOnly name="chislo">
<br>
<SELECT onchange="calc()" name=menu2>
<OPTION VALUE="6.55" >калькулятор</OPTION>
<OPTION VALUE="1" >ручка</OPTION>
<OPTION VALUE="2" >сигарета</OPTION>
<OPTION VALUE="3" >зажигалка</OPTION>
<OPTION VALUE="4" >лампа</OPTION>
</select>
<INPUT ALIGN="right" style="WIDTH: 50px" readOnly name="chislo2"><br>
Summa:<INPUT ALIGN="right" style="WIDTH: 50px" readOnly name="summa">
</form>
</BODY>
</HTML>

ana
10.07.2007, 09:46
почему при суммировании нескольких переменных у меня получается не 2+3=5, а 2+3=23

Потому, что надо суммировать числа,
попробуй ParseInt(a) + ParseInt(b)

badboychik
10.07.2007, 13:39
Спасибо, но к сожалению
z = ParseInt(a) + ParseInt(b);
document.forma.summa.value =z;
alert("z is"+" "+ typeof(z));
}
выдает ошибку в сценарии...
что делать не знаю...

Добавлено через 51 минуту
Короче допер.-))
var
a,b,z;
function calc()
{
a=eval(forma.menu1.value);
document.forma.chislo.value =a;
//alert("a is"+" "+ typeof(a));
b=eval(forma.menu2.value);
document.forma.chislo2.value =b;
//alert("b is"+" "+ typeof(b));

z = a + b;
document.forma.summa.value =z;
//alert("z is"+" "+ typeof(z));
}
и вся тема.-))