ajax отправка формы
Всем привет!
Как сделать так чтобы форма отправлялась не по нажатию кнопки а при вводе данных в поля (Автоматический подсчёт). P.S в примере jquery, но можно помочь и на JavaScript дальше разберусь. Заранее спасибо:) <form id="ajax-calculation-form" action="<?=$_SERVER['PHP_SELF']?>" method="POST"> Количество человек: <input type="text" id="input1" name="number1" size="5" pattern="\d{1,5}" > Количество дней: <input type="text" id="input2" name="number2" size="5" pattern="\d{1,5}" > </form> jQuery(document).ready(function() { jQuery("#ajax-calculation-form").submit(function(){ var str = jQuery(this).serialize(); alert(str); jQuery.ajax({ type: "POST", /*url: "/wp-content/themes/clean_by_saxap/calc/calc.php",*/ url: "wp-content/themes/bridge/hostelcalc/calc.php", data: str, success: function(msg) { if(msg == 'OK') { /*result = '<div class="notification_ok">Ваше сообщение было отправлено</div>';*/ result = ''; $("#fields1").hide(); } else { result = msg; } jQuery('#note1').html(result)/*.fadeIn().delay(3000).fadeOut("slow");*/ /*$(".btn_calc").on( "click", function() {*/ jQuery(".btn_calc").on( "click", function() { jQuery.when( effect() ).done(function() { }); }); } }); return false; }); }); |
Надо повесить все то же самое на событие нажатия кнопок в сфокусированном поле ввода: keyup например.
|
Спасибо Вам большое!:victory:
jQuery(document).ready(function() { jQuery("#ajax-calculation-form").keyup(function(){ var str = jQuery(this).serialize(); alert(str); jQuery.ajax({ type: "POST", /*url: "/wp-content/themes/clean_by_saxap/calc/calc.php",*/ url: "wp-content/themes/bridge/hostelcalc/calc.php", data: str, success: function(msg) { if(msg == 'OK') { /*result = '<div class="notification_ok">Ваше сообщение было отправлено</div>';*/ result = ''; $("#fields1").hide(); } else { result = msg; } jQuery('#note1').html(result)/*.fadeIn().delay(3000).fadeOut("slow");*/ /*$(".btn_calc").on( "click", function() {*/ jQuery(".btn_calc").on( "click", function() { jQuery.when( effect() ).done(function() { }); }); } }); return false; }); }); |
Часовой пояс GMT +3, время: 06:22. |