обновление данных "на лету" при вводе
Есть форма, в ней есть три поля:
<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 - то есть поменял например цену - оно сразу же пересчитало и вывело, не нажимая на кнопку "отправить/сохранить"? |
Ванести рассчет в скрипт.
|
tsigel, можете пример дать пожалуйста?
|
piraids,
добавь обработчики onchange в верхние два поля. |
Яростный Меч, а как насчет 3его поля?)
|
Цитата:
|
BETEPAH,
это кусок php кода - показан для того чтобы понять что я хочу, скрипта там нет, прошу пример как написать скрипт вдобавок к этому коду, чтобы данные обновлялись до того как нажмешь кнопку "сохранить/отправить" в форме |
Цитата:
|
<!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> |
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> |
Часовой пояс GMT +3, время: 01:29. |