Вот и ошибка пришла,перейменная не изменяется динамично при ходе операций.Код
<script lang="JavaScript">
function calculator(form) {
if (form.a.value==1,2,3)
{form.b.value==1}
else if (form.a.value==3,4,5,6,7)
{form.b.value==2}
else
{form.b.value==3}
a = eval(form.a.value);
b = eval(form.b.value);
c = a*b;
form.total.value = c;
}
</script>
<form>
Введите число 1 <input type="text" name="a" onchange="this.value=this.value.replace(/([^0-9])/g,'');" onkeyup="var n=this.value.replace(/([^0-9])/g,''); if(n!=this.value) this.value=n;"><br><br>
<input style="display:none" type="text" name="b" value="3"><br><br><br>
<input type="button" value="Рассчитать" onclick="calculator(this.form)">
<input type="reset" value="Сброс"><br><br>
Результат <input type="text" name="total">
</form>