Подсчет данных формы при загрузке
Всем привет. Есть код;:
$(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, время: 07:24. |