автоматический пересчёт суммы
привет! подскажите кто знает как реализовать следующую штуку:
1) есть два поля input type=text в каждом из них целое число 2) есть форма form id=myForm в котором те поля находятся 3) есть третье поле, в котором отображается произведение первых двух как сделать так,чтобы меняя цифру в одном из первых двух полей. произведение в третьем автоматически обновлялось без перезагрузки страницы,нажимании на какие-либо кнопки и пр? подобные скрипты есть в инет-магазинах, где меняешь кол-во и это поле умножается на цену и получается общее сумма, но тут надо чтобы изменения могли происходить в обоих полях |
<input id=i1 value=30 onchange=f()><input id=i2 value=3 onchange=f()><input id=i3 value=90 ><br> <script> function f(){ var n1=document.getElementById('i1').value; var n2=document.getElementById('i2').value; document.getElementById('i3').value=Number(n1)*Number(n2); } </script> |
vadim5june во, да, оно самое. Только вот оно срабатывает когда новое число ввел и убрал мышку из поля, а как бы чтобы сразу? то есть курсор ещё в поле а сумма сменилась?
и ещё забыл совсем! - сумму через запрос mysql_query() надо в бд передать. это AJAx уже я так пониммаю? |
onkeyup вроде бы помог! всё правильно сделал?
<input id="i1" value=30 onkeyup="f()"><input id="i2" value=3 onkeyup="f()"><input id="i3" value=90 ><br> <script> function f(){ var n1=document.getElementById('i1').value; var n2=document.getElementById('i2').value; document.getElementById('i3').value=Number(n1)*Num ber(n2); } </script> |
Цитата:
а так правильно сделали можно и ajax ом передать-тогда тем более нужно change оставить-а то на одно исправление несколько запросов уйдет |
просто данные в эти поля выводятся из базы данных
по сути надо чтобы каждый раз когда изменяется цифра в поле чтобы шёл запрос в бд UPDATE `MyTable`SET `vir1` = 'число' и тут же снова выгружалось в форму. это сложно будет? |
На стороне клиента несложно-а серверные языки я не знаю
типичный аякс запрос на jquery $.ajax({ url: "page.php", data: data, success: handleResponse }); в data передаете содержимое 3-го инпута а в функции sucess и пишите куда вставлять полученные данные |
Часовой пояс GMT +3, время: 01:58. |