Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2015, 21:31   #1
Aleks_006
Пользователь
 
Регистрация: 19.03.2013
Сообщений: 23
По умолчанию Пересчитывать сумму по onChange

Нужна помощь: хочу, чтобы по изменению поля пересчитывалась переменная sum. В ней считается сумма заказанных товаров. Теперь я прикрутил поле Количество и хочу, чтоб пользователь мог ввести туда другое число, и сумма сразу пересчитывалась. Сначала пытался сделать кнопкой, теперь думаю, что проще сделать динамически, по изменению поля. Но пока ничего не выходит(
Код:
function Upd() {
var r1=document.getElementById('kol').value;
var sum=sum+r1*<?php $mr[5] ?>;
alert(sum);
}
Код:
<input type='text' name='kol' size='4' value='1' onChange='Upd()'>
Сейчас есть какие-нибудь ошибки?
$mr[5] - цена (берётся из БД).
Aleks_006 вне форума Ответить с цитированием
Старый 09.06.2015, 21:48   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сейчас есть какие-нибудь ошибки?
Код:
var sum=sum+r1*<?php $mr[5] ?>;
Не уверен, что интерпретатору JS это понравится. Вообще, такая запись противоречит синтаксису языка.

Код:
<input type='text' name='kol' size='4' value='1' onChange='Upd()'>
1. Используйте двойные кавычки для записи значений атрибутов.
2. У вас не указан ID для этого тега, а выше в скрипте вы к нему обращаетесь тем не менее: getElementById('kol')
Вадим Мошев вне форума Ответить с цитированием
Старый 09.06.2015, 22:28   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,156
По умолчанию

sum Не глобальна потому плюсовать к ней что-то глупо
даже если предположить что sum глобально везде доступа - сначала нужно вычесть старое значение - потом плюсовать новое... а вобще делается это аяксом - где в сессии в пхп пересчитывается сумма
ADSoft вне форума Ответить с цитированием
Старый 10.06.2015, 00:04   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

var sum=sum+r1*<?php $mr[5] ?>; - это не ошибка, при генерации страницы вместо <?php $mr[5] ?>; будет число )

ТС, вынесите переменную sum за функцию и все будет пучком.
uberchel вне форума Ответить с цитированием
Старый 10.06.2015, 09:19   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Лучше перед вызовом функции написать Upd.sum = значение, а потом юзатьь функцию.
Вадим Мошев вне форума Ответить с цитированием
Старый 13.07.2015, 14:19   #6
nika_atlant
Новичок
Джуниор
 
Регистрация: 13.07.2015
Сообщений: 1
По умолчанию как поменять цену в javascript

http://bakery.foodmash.kz/ вот сайт
там 7 пункт
оборудования где противни, есть еще размер. Суть такая мне нужно чтобы при выборе другого размера поменялась цена.
помогитееее
уже незнаю к кому обратиться
nika_atlant вне форума Ответить с цитированием
Старый 13.07.2015, 15:12   #7
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
1. Используйте двойные кавычки для записи значений атрибутов.
Интересно, чем не угодили одинарные кавычки?
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onChange в SpinEdit ZotaC Общие вопросы Delphi 2 10.05.2012 21:36
Макрос не успевает пересчитывать данные kuperfbi Microsoft Office Excel 0 01.07.2011 12:31
OnChange Plohoy Помощь студентам 17 06.08.2010 13:07
Проблема ONCHANGE в IE mihali4 JavaScript, Ajax 11 25.11.2008 07:15
TEdit.Onchange azat Компоненты Delphi 1 27.11.2007 12:36