Подсчет данных формы при загрузке
Всем привет. Есть код;:
$(window).load(function() { $('input[name="k-less"]').change(function () { summ = $(this).val(); perhour = parseInt($('.kperhour').text(), 10); kurs = 65; console.log('summ '+summ+' perhour '+perhour+' kurs '+kurs+'') summ = summ*perhour*kurs; $('.k-cost').text(summ); function onlod (){ $('input[name="ik_am"]').val(summ); }; console.log('k-less'); }); }); Он считает по курсу с долара в рубли. Но результат подсчета выводиться только если в поле с количеством нажимать на стрелочки http://prntscr.com/gb0zob или же после ввода цифры и клика мышкой в любом месте. Я установил по умолчанию 1 а все равно выводит 0 Как сделать что бы сразу же при загрузке страницы считало? |
Цитата:
|
function myFunc() { $('input[name="k-less"]').change(function () { summ = $(this).val(); perhour = parseInt($('.kperhour').text(), 10); kurs = 65; console.log('summ '+summ+' perhour '+perhour+' kurs '+kurs+'') summ = summ*perhour*kurs; $('.k-cost').text(summ); function onlod (){ $('input[name="ik_am"]').val(summ); }; console.log('k-less'); }); } $('input[name="k-less"]').change(myFunc); wiodow.onload = myFunc; Код выше использую, так же не работает. Да, должно считать если даже не кто ничего не водил. Нужно считать по цифре в поле по умолчанию, стоит 1. |
Цитата:
Вы бы лучше код формы своей показали, а то не понять причем тут text() и для чего. А function onlod (){ ...., это какая-то абракадабра. |
<span class="wpcf7-form-control-wrap k-skype"><input type="text" name="k-skype" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required"></span> </div> <div class="vlo2"> Количество занятий</div> <div class="put"> <span class="wpcf7-form-control-wrap k-less"><input type="number" name="k-less" value="1" class="wpcf7-form-control wpcf7-number wpcf7-validates-as-required wpcf7-validates-as-number" aria-invalid="false"></span> </div> <div class="clear"></div> <div class="vlo2 amm">Всего: </div> <div class="put amm2"> <span class="wpcf7-form-control-wrap k-cost strong gr">0</span></div> <form class="asd" method="post" action=""> <input type="hidden" name="ik_co_id" value=""> <input type="hidden" name="ik_cur" value="RUB"> <input type="hidden" name="ik_desc" value="lenword.com"> <input type="hidden" name="ik_x_name" value=""> <input type="hidden" name="ik_x_fam" value=""> <input type="hidden" name="ik_x_email" value=""> <input type="hidden" name="ik_x_skype" value=""> <input type="hidden" name="ik_x_prepod" value="<?php nazva(); ?>"> <input type="hidden" name="ik_x_less" value="1"> <?php $v = $wpdb->get_row( "SELECT * FROM kpays WHERE id=(SELECT MAX(id) FROM kpays)", ARRAY_A);?> <input type="hidden" name="ik_pm_no" value="<?php echo $v['id']+1; ?>"> <input id="paycost" type="hidden" name="ik_am" value="100"> <div class="clear"></div> <div class="c"> <button type="submit" class="button133j kinter"> Оплатить </button> </div> </form> |
Цитата:
В коде формы не видно '.kperhour' и того что на изображении. То что указано на изображении (курс валюты) ведь уже есть, зачем его считать, или же в поле формы это должно быть помещено? В таком случае почему сервер сразу не отдает форму с перерасчетом по курсу, а уже при вводе будет считать JS? |
<?php echo '<div class="cnt">Стоимость: <span class="kperhour">'?><?php echo cena();?><?php echo '</span><span class="pokur">Курс: 1$ = 55 руб.</span></div></div><div class="clear m10"></div>'?> <div class="vlo2"> Телефон *</div> <div class="put"> <span class="wpcf7-form-control-wrap k-fam"><input type="text" name="k-fam" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required" aria-required="true" aria-invalid="false"></span> </div> <div class="vlo2"> E-mail *</div> <div class="put"> <span class="wpcf7-form-control-wrap k-email"><input type="email" name="k-email" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-email wpcf7-validates-as-required wpcf7-validates-as-email" aria-required="true" aria-invalid="false"></span></div> <div class="vlo2"> Логин скайп </div> <div class="put"> <span class="wpcf7-form-control-wrap k-skype"><input type="text" name="k-skype" value="" size="40" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required"></span> </div> <div class="vlo2"> Количество занятий</div> <div class="put"> <span class="wpcf7-form-control-wrap k-less"><input type="number" name="k-less" value="1" class="wpcf7-form-control wpcf7-number wpcf7-validates-as-required wpcf7-validates-as-number" aria-invalid="false"></span> </div> <div class="clear"></div> <div class="vlo2 amm">Всего: </div> <div class="put amm2"> <span class="wpcf7-form-control-wrap k-cost strong gr">0</span></div> <form class="asd" method="post" action=""> <input type="hidden" name="ik_co_id" value=""> <input type="hidden" name="ik_cur" value="RUB"> <input type="hidden" name="ik_desc" value="lenword.com"> <input type="hidden" name="ik_x_name" value=""> <input type="hidden" name="ik_x_fam" value=""> <input type="hidden" name="ik_x_email" value=""> <input type="hidden" name="ik_x_skype" value=""> <input type="hidden" name="ik_x_prepod" value="<?php nazva(); ?>"> <input type="hidden" name="ik_x_less" value="1"> <?php $v = $wpdb->get_row( "SELECT * FROM kpays WHERE id=(SELECT MAX(id) FROM kpays)", ARRAY_A);?> <input type="hidden" name="ik_pm_no" value="<?php echo $v['id']+1; ?>"> <input id="paycost" type="hidden" name="ik_am" value="100"> <div class="clear"></div> <div class="c"> <button type="submit" class="button133j kinter"> Оплатить </button> </div> </form> есть данные: цена за один урок - например 5 $ курс доллара - например 55 р форма должна при загрузке считать 5*55*на цифру в поле где количество занятий она считает и показывает но только когда вручную нужно вбить Количество и кликнуть в любом месте екрана По умолчанию должно умножать на 1. и сразу же выводить результат Спасибо. Сори что долго объясняю |
$(window).load(function() { $('input[name="k-less"]').change(function () { summ = $(this).val(); perhour = parseInt($('.kperhour').text(), 10); kurs = 65; console.log('summ '+summ+' perhour '+perhour+' kurs '+kurs+'') summ = summ*perhour*kurs; $('.k-cost').text(summ); console.log('k-less'); }).trigger("change"); }); |
Спасибо, число выводит на екран. Но не передает его в форму, опять же нужно кликать по счетчику что бы передавало.
|
pava467,
это понятно, не понятно чего вы считать собрались при загрузке страницы? Пусть 1 (то что по умолчанию в форме указано) и его цена $5. Сервер отдает форму ну так почему ему сразу не просчитать эту цену в рублях и вывести как по умолчанию? Зачем этим напрягать клиента? Он будет считать только по изменению, то есть при вводе значения форму. |
Часовой пояс GMT +3, время: 15:57. |