Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Добавить в скрипт замену запятой,на точку
 
 автор: Dinya_1   (09.07.2011 в 09:31)   письмо автору
25.9 Кб
 
 

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

Прикладываю скрин, и код ниже

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

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



//Поле ввода "Количество"
<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>


Подскажите Пожалуйста кто знает.

  Ответить  
 
 автор: АЯ   (09.07.2011 в 11:33)   письмо автору
 
   для: Dinya_1   (09.07.2011 в 09:31)
 

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

  Ответить  
 
 автор: dinya_1   (09.07.2011 в 19:34)   письмо автору
 
   для: АЯ   (09.07.2011 в 11:33)
 

Спасибо работает.

  Ответить  
 
 автор: cheops   (09.07.2011 в 11:38)   письмо автору
 
   для: Dinya_1   (09.07.2011 в 09:31)
 

Воспользуйтесь функцией parseFloat() для преобразования к числу с плавающей точкой.

  Ответить  
 
 автор: АЯ   (09.07.2011 в 12:34)   письмо автору
 
   для: cheops   (09.07.2011 в 11:38)
 

Из любого "числа с запятой" получите лишь его целую часть - parseFloat отбросит и запятую, и всё, что после неё.

[поправлено модератором]

  Ответить  
 
 автор: cheops   (09.07.2011 в 12:54)   письмо автору
 
   для: АЯ   (09.07.2011 в 12:34)
 

Это не так, и в этом можно легко убедиться на практике. Возможно, конечно, это от локали зависит, нет под рукой английской системы, но у меня parseFloat() ничего не отбрасывает ни в одном из браузеров.

  Ответить  
 
 автор: АЯ   (09.07.2011 в 17:19)   письмо автору
 
   для: cheops   (09.07.2011 в 12:54)
 

Убеждайтесь:
var pi = '3,1415926';
alert (parseFloat (pi));
В любой "локали", на любом сервере, при любой кодировке, в любом браузере... - везде получите чистую тройку.

  Ответить  
 
 автор: cheops   (09.07.2011 в 17:22)   письмо автору
 
   для: АЯ   (09.07.2011 в 17:19)
 

Да, точка, в тестовый пример залезла.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования