Боря_Михалыч,
Так вы текст не вводите и NaN не будет вылезать |
Михалыч, попробуйте вместо
var a1= Number(document.form1.visota.value); Написать var a1= parseInt(document.form1.visota.value); |
HelpeR,
один, фиг, разница:) |
Skipp,
спасет, если он введет 1см :) |
Боря_Михалыч,
Поменяйте везде в value типа value="1,5", value="2,5" и т.д заместо запятых поставьте точки. HelpeR, А по моему "один, фиг, разница" :) что так, что так, будет либо NaN либо число |
тогда лучше напишите
var a1= parseFloat(document.form1.visota.value); |
<form name="form1"> <input type="text" onclick="this.style.backgroundColor = 'white';" name="visota" /><br/> <input type="text" onclick="this.style.backgroundColor = 'white';" name="shirina" /><br/> <input type="button" onclick="raschet(this.form)" value="Перемножить" /><br/> <input type="text" name="res_metall" /> </form> <script> function raschet(form){ var visota = form[0], shirina = form[1], error; if(isNaN(visota.value)) { visota.style.backgroundColor = 'red'; error = true; } if(isNaN(shirina.value)) { shirina.style.backgroundColor = 'red'; error = true; } if(error == true) return NaN; s = visota.value * shirina.value; form[3].value=s; return s; } </script> |
Или так:
<form name="form1"> <input type="text" onclick="this.style.backgroundColor = 'white';" name="visota" /><br/> <input type="text" onclick="this.style.backgroundColor = 'white';" name="shirina" /><br/> <input type="button" onclick="raschet(this.form)" value="Перемножить" /><br/> <input type="text" name="res_metall" /> </form> <script> function check(el){ if(isNaN(el.value)) { el.style.backgroundColor = 'red'; return false; } else return true; } function raschet(form){ var visota = form[0], shirina = form[1], checkResult = [check(visota), check(shirina)]; for(var i = 0; i < checkResult.length; i++) if(!checkResult[i]) return NaN; form[3].value=visota.value * shirina.value; } </script> |
хмммм интерестно почему эту
form[3].value=visota.value * shirina.value; строчку не правильно подсветил интерпретатор. |
А он тупой стал после последнего обновления (мне совсем не нравится html-подсветка). Из-за знака < он посчитал checkResult.length за тэг, а value=visota он посчитал за атрибут из-за =
|
Часовой пояс GMT +3, время: 09:00. |