математическое уравнение javascript - PullRequest
1 голос
/ 10 марта 2009

У меня есть два поля формы money и years, которым нужно вывести число в третье поле cv.

В идеале, пока вводятся первые цифры, но я согласен, что это происходит и после нажатия кнопки

<FORM name="salary">
    <input type="number" size=12 name="money"> 
    <input type="number" size=12 name="years"> 
    <input type="number" size=12 name="cv"> 
</FORM>

Математика будет следующей.

(деньги * годы) - (деньги * годы) x = cv

Где:

  • x равно 0, если годы равны 1
  • x равно .2, если годы равны 2
  • x равно .45, если годы равны 3
  • x равно 0,6, если годы равны 4
  • x равно 0,65, если годы равны 5
  • х равен 0,75, если годы равны 6

Ответы [ 4 ]

3 голосов
/ 10 марта 2009

Чтобы решить проблему, вам нужно знать, как использовать javascript для:

  • Программно получить текст, введенный в текстовое поле
  • Подтвердите, что текстовое поле содержит числовые данные
  • Выполнить математику
  • Установить значение третьего текстового поля

Все это и многое другое можно найти здесь .

3 голосов
/ 10 марта 2009

Вы можете использовать jQuery, в этом случае это будет примерно так:

var money = parseFloat($("#money").val());
var years = parseInt($("#years").val(), 10);
var x = [0.00, 0.20, 0.45, 0.60, 0.65, 0.75][years-1];

$("#cv").val((money*years)*(1-x));
0 голосов
/ 10 марта 2009

Посчитайте:

(money * years) - (money * years) x = cv
(money * years) x = (money * years) - cv
x = ((money * years) - cv) / (money * years)
x = 1 - cv / (money * years)

Получить JQuery на http://jquery.com/

Обновите ваш код следующим образом (обратите внимание, что имя → id):

<script type="text/javascript" src="jquery.js"></script>
<input type="number" size="12" id="money" />
<input type="number" size="12" id="years" />
<input type="number" size="12" id="cv" />
<div id="result"></div>
<script type="text/javascript">
  $ ('input').bind ('input change keyup keydown keypress', function () {
    $ ('#result').val (
       1 - $ ('#cv').val () / ($ ('#money').val () * $ ('#years').val ())
    )
  })
</script>
0 голосов
/ 10 марта 2009

Вы захотите поместить событие onKeyUp () в оба поля, в которые люди вводят данные и вызывают функцию, например, как описано ниже, кроме того, добавьте идентификатор для каждого поля, используемого в функции. Если вы не используете прототип или jquery, вам нужно использовать getElementById ('var') вместо $ ('var')

function calculateAndSetCV()
{
    money = parseFloat($('money').val());
    years = parseInt($('years').val());
    cv = 0;

    if(years == 1)
    {
        cv = (money * years) - (money * years)0;
    }

    $('cv').val(cv);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...