The JS / Ajax function that I created is dispatched without a button click or page refresh. The function receives the values โโof the input field and with the help of php displays the results. But each time the variable echoes, the next variable erases the value of the previous one. How can this be avoided? EXAMPLE
Js
<script> $(document).ready(function() { var timer = null; var dataString; function submitForm(){ $.ajax({ type: "POST", url: "index.php", data: dataString, success: function(result){ $('#special').html('<p>' + $('#resultval', result).html() + '</p>'); } }); return false; } $('#contact_name').on('keyup', function() { clearTimeout(timer); timer = setTimeout(submitForm, 050); var name = $("#contact_name").val(); dataString = 'name='+ name; }); $('#email').on('keyup', function() { clearTimeout(timer); timer = setTimeout(submitForm, 050); var name = $("#email").val(); dataString = 'name='+ name; }); $('#phone').on('keyup', function() { clearTimeout(timer); timer = setTimeout(submitForm, 050); var name = $("#phone").val(); dataString = 'name='+ name; }); $('#address').on('keyup', function() { clearTimeout(timer); timer = setTimeout(submitForm, 050); var name = $("#address").val(); dataString = 'name='+ name; }); $('#website').on('keyup', function() { clearTimeout(timer); timer = setTimeout(submitForm, 050); var name = $("#website").val(); dataString = 'name='+ name; }); }); </script>
HTML / PHP
<form action="" method="post" enctype="multipart/form-data" id="contact_form" name="form4"> <div class="row"> <div class="label">Contact Name *</div> <div class="input"> <input type="text" id="contact_name" class="detail" name="contact_name" value="<?php $contact_name ?>" /> <div id="special"><span id="resultval"></span></div> </div> </div> <div class="row"> <div class="label">Email Address *</div> <div class="input"> <input type="text" id="email" class="detail" name="email" value="<?php $email ?>" /> <div id="special"><span id="resultval"></span></div> </div> </div> </form>
source share