Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Калькулятор на JavaSrcript

324
25 апреля 2006 года
AndreySar
532 / / 01.08.2004
Нужно реализовать что то типа калькулятора. Т.е по какому либо событию (OnBlur) данные из одного Input складываются с данными из другого Input.
15
25 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by AndreySar
Нужно реализовать что то типа калькулятора. Т.е по какому либо событию (OnBlur) данные из одного Input складываются с данными из другого Input.


Ну так складывай. В чём проблема то? Я вообще не вижу тут вопроса.

324
25 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by shaelf
Ну так складывай. В чём проблема то? Я вообще не вижу тут вопроса.



как мне обратится к Input'am на JavaScript. Я знаю их id.

15
25 апреля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by AndreySar
как мне обратится к Input'am на JavaScript. Я знаю их id.


document.getElementById('id').value

324
26 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by shaelf
document.getElementById('id').value



в результате получился следующий код:

 
Код:
function c_00001_190_3_onblur() {
    document.getElementById('c_00001_190_3').value =
    (document.getElementById('c_00001_110_3').value) +
    (document.getElementById('c_00001_120_3').value) +
    (document.getElementById('c_00001_130_3').value) +
    (document.getElementById('c_00001_135_3').value) +
    (document.getElementById('c_00001_140_3').value) +
    (document.getElementById('c_00001_145_3').value) +
    (document.getElementById('c_00001_150_3').value);
}

Проблема в том, что он значения складывает как строки. А мне надо как числа, т.е.:
5 + 1 = 51, а надо 5 + 1 = 6;

И еще как можно сделать чтобы в Input вводились только цифры и точка
8
26 апреля 2006 года
mfender
3.5K / / 15.06.2005
Я тут коротенький примерчик набросал, как это сделать проще:
Код:
<form name="summForm">



  <input name="val" type="text" id="val">
  <input name="val" type="text" id="val">
  <input name="val" type="text" id="val">  
  <input name="val" type="text" id="val">  
</p>



  <input name="result" type="text" id="result">
  <input type="button" name="Button" value="Button" &#111;&#110;Click="summ();">
</p>
</form>
<script>
function summ(){
    var Result = 0;
    for (var n=0; n<document.summForm.length-1; n++){
        var El = document.summForm.elements[n];
        if (El.name == 'val')
            Result += Number(El.value);
    }
    document.summForm.result.value = Result;
}
</script>


Думаю, разберёшься.
15K
26 апреля 2006 года
y4an
27 / / 20.04.2006
Цитата:
Originally posted by AndreySar
Проблема в том, что он значения складывает как строки. А мне надо как числа


parseInt() - Converts strings into integers.

Цитата:
Originally posted by AndreySar
И еще как можно сделать чтобы в Input вводились только цифры и точка


через яваскрипт, если поискать то можно легко найти, вроде даже где то на этом форуме видел.

324
26 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by mfender
Я тут коротенький примерчик набросал, как это сделать проще:
Код:
<form name="summForm">



  <input name="val" type="text" id="val">
  <input name="val" type="text" id="val">
  <input name="val" type="text" id="val">  
  <input name="val" type="text" id="val">  
</p>



  <input name="result" type="text" id="result">
  <input type="button" name="Button" value="Button" &#111;&#110;Click="summ();">
</p>
</form>
<script>
function summ(){
    var Result = 0;
    for (var n=0; n<document.summForm.length-1; n++){
        var El = document.summForm.elements[n];
        if (El.name == 'val')
            Result += Number(El.value);
    }
    document.summForm.result.value = Result;
}
</script>


Думаю, разберёшься.



все спасибо, использовал Number

324
26 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by AndreySar
все спасибо, использовал Number



Полученное число надо округлить до двух значащих цифр после запятой, использовал toPrecision(2). Но он делает все число, состоящее из двух чисел.

324
26 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by AndreySar



Как можно округлить число с плавающей точкой до нужного числа цифр после запятой. Использование toFixed() не подходит из за ограничения версии IE и NN

324
29 апреля 2006 года
AndreySar
532 / / 01.08.2004
Цитата:
Originally posted by AndreySar
Как можно округлить число с плавающей точкой до нужного числа цифр после запятой. Использование toFixed() не подходит из за ограничения версии IE и NN



Ладно, с этим разобрался.
Теперь другая проблема, как вызвать функцию после полной загрузки странички? Надо пересчитать формулы по уже введенным данным

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог