Запятая в калькуляторе

Тема в разделе "JavaScript", создана пользователем ruscadet, 1 июн 2013.

  1. ruscadet

    ruscadet

    Регистрация:
    16 дек 2012
    Сообщения:
    112
    Симпатии:
    18
    Всем доброго утра/дня/вечера/ночи (нужное подчеркнуть)!

    Есть калькулятор на сайте
    PHP:
    <script lang="JavaScript">
    function 
    calculator(form) {
    = eval(form.a.value);
    = eval(form.b.value);
    = eval(form.c.value);
    b*c/10/a;
    form.total.value d;
    }
    </
    script>
    <
    form>Введите число 1 &lt;input type=&quot;text&quotdata-cke-saved-name=&quot;a&quotname=&quot;a&quotonchange=&quot;this.value=this.value.replace(/,/g, &quot; .&quot;);&quot;=&quot;&quotonkeyup=&quot;var n=this.value.replace(/,/g, &quot; .&quot;);=&quot;&quot; if(n!=&quot;this.value)&quotthis.value=&quot;n;&amp;quot;&quot;&gt;<br />
    <
    br />
    Введите число 2 <input name="b" onkeyup="this.value=this.value.replace(/,/g, " type="text" /><br />
    <
    br />
    Введите число 3 <input name="c" onkeyup="this.value=this.value.replace(/,/g, " type="text" /><br />
    <
    br />
    <
    br />
    <
    input onclick="calculator(this.form)" type="button" value="Рассчитать" /> <input type="reset" value="Сброс" /><br />
    <
    br />
    Результат <input name="total" type="text" />&nbsp;</form>
    При использовании дробных чисел с "," считает некорректно, а с "." - всё нормально.

    В этих делах я почти полный ноль, поэтому и взываю к помощи!
     
  2. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    а почему вы не используете
    Код:
    <input ... type="number"
     
  3. ruscadet

    ruscadet

    Регистрация:
    16 дек 2012
    Сообщения:
    112
    Симпатии:
    18
    не знаю... я этот код в сети содрал...

    если есть другое решение, с удовольствием его приму
    главное, чтобы выражение d = b*c/10/a выполнялось, а также точка и запятая работали
     
  4. saxum2010

    saxum2010

    Регистрация:
    6 фев 2013
    Сообщения:
    111
    Симпатии:
    34
    попробуйте так

    HTML:
    <script lang="JavaScript">
    function calculator(form) {
    a = eval(form.a.value);
    b = eval(form.b.value);
    c = eval(form.c.value);
     
    a =a.replace(',','.');
     
    b =b.replace(',','.');
     
    c =c.replace(',','.');
    d = b*c/10/a;
    form.total.value = d;
    }
    </script>
     
  5. ruscadet

    ruscadet

    Регистрация:
    16 дек 2012
    Сообщения:
    112
    Симпатии:
    18


    при добавлении
    HTML:
    [FONT=Consolas]a =a.replace(',','.');[/FONT]
    [FONT=Consolas] [/FONT][FONT=Consolas]b =b.replace(',','.');[/FONT]
    [FONT=Consolas] [/FONT][FONT=Consolas]c =c.replace(',','.');[/FONT][FONT=Consolas]>
    [/FONT]
    перестаёт работать кнопка "Рассчитать" =(
     
  6. ruscadet

    ruscadet

    Регистрация:
    16 дек 2012
    Сообщения:
    112
    Симпатии:
    18
    тема актуальна. за рабочий вариант - вознаграждение