Reply to this topicStart new topicStart Poll

Не правильно работает. Помогите исправить ошибку

, задачка с использованием Java Script
denicko
Отправлено: Oct 19 2010, 06:08 PM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 3572
Регистрация:
19-October 10



Помогите пожалуйста исправить ошибку в коде, программа работает, но не корректно.
Задача
Создать форму, для вычисления среднего арифметического трех введенных чисел. Вычисление происходит в результате изменения значения третьего числа.
Код
CODE

<form name="form1">
Введите первое число:
<input type="text" name="num1">
<br>
Введите второе число:
<input type="text" name="num2">
<br>
Введите третье число:
<input type="text" name="num3" onChange="document.form1.rez.value = parseInt ((document.form1.num1.value+document.form1.num2.value+document.form1.num3.value)/3, 10);">
<br>
Результат:
<input type="text" name="rez">
<br>
<input class="submit" type="reset" value="Сброс"></td>
</form>
PMEmail Poster
Top
Матроскин
Отправлено: Oct 20 2010, 12:05 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



В переменных num передаются строковые типы данных, поэтому обработчик соответственно производит с ними конкатенацию (присоединение), а затем делит на 3. Например, вводим числа 1, 2 и 3, в результате конкатенации получаем 123, делим на 3, итог - 41. Т.е., необходимо привести строку к числу, а это можно сделать с помощью ф-ции Number:
CODE
<form name="form1">
Введите первое число:
<input type="text" name="num1">
<br>
Введите второе число:
<input type="text" name="num2">
<br>
Введите третье число:
<input type="text" name="num3" onChange="document.form1.rez.value = parseInt ((Number(document.form1.num1.value)+Number(document.form1.num2.value)+Number(document.form1.num3.value))/3, 10);">

<br>
Результат:
<input type="text" name="rez">
<br>
<input class="submit" type="reset" value="Сброс"></td>
</form>

Так считает то, что нам нужно smile.gif


--------------------
PMEmail PosterUsers Website
Top
denicko
Отправлено: Oct 20 2010, 02:50 PM
Quote Post


  Солдат
*

Группа: Members
Сообщений: 5
Пользователь №: 3572
Регистрация:
19-October 10



Матроскин, огромное спасибо вам, очень признателен!
PMEmail Poster
Top
Матроскин
Отправлено: Oct 20 2010, 03:31 PM
Quote Post


  Генерал
*

Группа: Members
Сообщений: 245
Пользователь №: 2581
Регистрация:
9-June 09



Пожалуйста beer.gif


--------------------
PMEmail PosterUsers Website
Top

Topic Options Reply to this topicStart new topicStart Poll

 



[ Script Execution time: 0.0186 ]   [ 10 queries used ]   [ GZIP выключен ]