Logo
Версия для печати

Добавить в скрипт замену запятой, на точку

  • Автор  SeRbGa

Всем привет!

Есть рабочий скрипт корзины.
При вводе в поле количества требуемого товара, скрипт выдаёт результат.
Проблема: Кода в это же поле вводишь дробное число с запятой (1224,087) - вместо результата появляется "NаN"

Ето может случится где угодно и в любом скрипте. Например, в каком нибудь банальном калькуляторе.

Прикладываю код:

//Поле ввода "Количество" 
<input name='weight' size=5 class='email'  onchange='javascript:ccount();' style='width:100px;' value='".$arr['weight'.$vartpl[4]]."'> 
//Java скрипт 
<script language='Javascript'> 
<!-- 
  function ccount() { 
    document.getElementById('cost2').innerHTML = document.order.cost1.value * document.order.weight.value; 
    document.order.cost.value = document.order.cost1.value * document.order.weight.value; 
//--> 
</script> 
//Результат  
<div id='cost2' class='email' style='float:left;'>".$arr['cost'.$vartpl[4]]." </div > &nbsp;$arr[cash]</div> 

Решение:
Заменяем в коде запятую на точку в получении данных.

Функция замены запятой в PHP:

$_POST['weight'] = str_replace (',','.',$_POST['weight']); 

Функция замены запятой в Java Script:

document.order.cost.value = document.order.cost1.value * document.order.weight.value.replace (/\,/, '.');

Если необходимо отрезать все после запятой, то воспользуйтесь функцией parseFloat()
Из любого "числа с запятой" получите лишь его целую часть - parseFloat отбросит и запятую, и всё, что после неё.

var pi = '3,1415926'; 
alert (parseFloat (pi));
Последнее изменениеВторник, 17 Февраль 2015 13:06
  • Оцените материал
    (2 голосов)
  • Опубликовано в Web coding
  • Прочитано 129843 раз
SeRbGa

SeRbGa

мечтатель

Сайт: www.serbga.ru

Оставить комментарий

SeRbGa