Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2013, 13:33
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

обновление данных "на лету" при вводе
Есть форма, в ней есть три поля:
<input name='price' value="<?php echo($this->was_price); ?>">
<input name='markup' value="<?php echo($this->markup); ?>">
<select>
<option value="0" <?php if ($this->price_percent == 0) echo('selected="selected"'); ?>>0%</option>...</select>

Есть переменная которая выводит итог из всего этого:
$calculate_totals = $this->was_price + (($this->was_price * $this->markup)/100) - (($this->was_price * $this->price_percent)/100);

Нажимаешь отправить - данные отправляются - все выводит, все показывает, все считает.

Как сделать еще чтобы при вводе данных в верхние поля сразу же выводилось значение в $calculate_totals - то есть поменял например цену - оно сразу же пересчитало и вывело, не нажимая на кнопку "отправить/сохранить"?
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2013, 16:08
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Ванести рассчет в скрипт.
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2013, 14:06
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

tsigel, можете пример дать пожалуйста?
Ответить с цитированием
  #4 (permalink)  
Старый 05.09.2013, 15:40
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

piraids,

добавь обработчики onchange в верхние два поля.
Ответить с цитированием
  #5 (permalink)  
Старый 05.09.2013, 17:09
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

Яростный Меч, а как насчет 3его поля?)
Ответить с цитированием
  #6 (permalink)  
Старый 05.09.2013, 17:33
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от piraids Посмотреть сообщение
Есть форма, в ней есть три поля:
<input name='price' value="<?php echo($this->was_price); ?>">
<input name='markup' value="<?php echo($this->markup); ?>">
<select>
<option value="0" <?php if ($this->price_percent == 0) echo('selected="selected"'); ?>>0%</option>...</select>

Есть переменная которая выводит итог из всего этого:
$calculate_totals = $this->was_price + (($this->was_price * $this->markup)/100) - (($this->was_price * $this->price_percent)/100);
Вы уверены, что это Javascript?
Ответить с цитированием
  #7 (permalink)  
Старый 05.09.2013, 17:37
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

BETEPAH,
это кусок php кода - показан для того чтобы понять что я хочу, скрипта там нет, прошу пример как написать скрипт вдобавок к этому коду, чтобы данные обновлялись до того как нажмешь кнопку "сохранить/отправить" в форме
Ответить с цитированием
  #8 (permalink)  
Старый 05.09.2013, 17:38
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от piraids
а как насчет 3его поля?)
тоже.
Ответить с цитированием
  #9 (permalink)  
Старый 05.09.2013, 18:13
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

<!DOCTYPE html>
<html>
<head></head>
<body>
<form id="form">
    <input id="price" type="text" value="1" />
    <input id="markup" type="text" value="2" />
    <input id="out" type="text" />
</form>
<script>
var f = document.getElementById('form');
f.onchange = f.onkeyup = function() {
    var first = +document.getElementById('price').value; 
    var second = +document.getElementById('markup').value; 
    document.getElementById('out').value = first + second || 'нужны числа';
}
</script>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 06.09.2013, 09:44
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

BETEPAH, спасибо!!!

Получился такой скрипт
<script>
	var sum = document.getElementById('summ');
		sum.onchange = sum.onkeyup = function() {
		    var first = +document.getElementById('price').value;
		    var second = +document.getElementById('markup').value;
		    var third = +document.getElementById('price_percent').value;
		    document.getElementById('summ_itog').value = (first + ((second * first)/100)) - (third * first)/100 || 'Введите цену';
		}
	</script>

Последний раз редактировалось piraids, 06.09.2013 в 09:49.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление картинки при клике Обновить Cerver Общие вопросы Javascript 15 17.02.2012 15:57
Вывод данных единожды, при открытии окна? Ggorsh Events/DOM/Window 1 28.04.2009 01:04
Обновление картинки при нажатии sdff Общие вопросы Javascript 2 07.10.2008 09:05
Подбор вариантов при вводе. SergeiAzarov Общие вопросы Javascript 1 06.09.2008 15:09