Боря_Михалыч,
Так вы текст не вводите и 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, время: 05:19. |