Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Пакость, не хочет складывать оО (https://javascript.ru/forum/misc/9593-pakost-ne-khochet-skladyvat-oo.html)

Doom4eg 26.05.2010 14:51

Пакость, не хочет складывать оО
 
Доброго времени суток :)
В общем, объясните, почему я немогу получить общую сумму?
К примеру: ввожу 10 и 3 должно быть 26, но вместо этого получается 206, т.е это 20 и 6. :help:

<html>
<head>
<div align="center"><h1>просто так... %)</h1></div>
</head>

<body>
<form onsubmit="return false;" name="calc">
    <table width="5%" height="20%" border="0" align="center" cellpadding="5" cellspacing="2">
	       <tbody>
		        <td height="5%" align="right" bordercolor="#FFFFFF" bgcolor="#0E2D99"><div align="center"><font color="#FFFFFF">Длинна помещения</font></div></td>
                <td bordercolor="#FFFFFF" bgcolor="#0E2D99"><font color="#FFFFFF">
                <input size="3%" onchange="per_s();" name="per_width" type="text"/>
                </font></td>
                <td rowspan="2" bordercolor="#FFFFFF" bgcolor="#0E2D99"><div align="center"><font color="#FFFFFF">Периметр помещения<br/>
                <input size="5%" name="per" type="text"/></font></div></td>
			 </tr>
             <tr>
                <td height="5%" align="right" bordercolor="#FFFFFF" bgcolor="#0E2D99"><div align="center"><font color="#FFFFFF">Ширина помещения</font></div></td>
                <td bordercolor="#FFFFFF" bgcolor="#0E2D99"><div align="center"><font color="#FFFFFF">
                <input size="3%" onchange="per_s()" name="per_height" type="text"/></font></div></td>
			 </tr>
        </tbody>
</form>
<script language="JavaScript" type="text/javascript">

var spacebox = document.forms['calc'];

function per_s ()
{
	spacebox.per.value = (spacebox.per_width.value+spacebox.per_height.value)*2;
}
</script>

</body>
</html>

B@rmaley.e><e 26.05.2010 14:54

spacebox.per.value = (+spacebox.per_width.value+ +spacebox.per_height.value)*2;
У вас в value хранится строковые значения, поэтому происходит конкатенация. Для сложения их нужно перевести в числа.

Doom4eg 26.05.2010 15:10

Спасибо большое :)


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