Menambahkan delay di onkeyup

ini fungsi isi_otomatis()

<script type="text/javascript">
            function isi_otomatis(){
                var barcode = $("#barcode").val();
                $.ajax({
                    url: 'proses.php',
                    data:{barcode:barcode} ,
                }).success(function (data) {
                    var json = data,
                    obj = JSON.parse(json);
		    $('#barcode').val(obj.barcode);
                    $('#plu').val(obj.plu);
                    $('#desk').val(obj.desk);
		    $('#kategori').val(obj.kategori);
                    $('#lokasi').val(obj.lokasi);
                });
            }
        </script>

ini menambahkan delay pada onkeyup

<body>
  <label for="inputan">Form input</label> <input type="text" id="inputan" name="inputan" />
  <script type="text/javascript">
    var delay = (function(){
      var timer = 0;
      return function(callback, ms){
        clearTimeout(timer);
        timer = setTimeout(callback,ms);
      };
    })();

    $(document).ready(function(){
      $("#inputan").keyup(function(){
          delay(function(){
            alert('REQUEST AJAX');
          }, 800);
      });
    });

  </script>
</body>

gmn caranya memasukan fungsi isi otomatis ke script delay? saya coba masukin ke bagian alert ('REQUEST AJAX'); malah ga jalan isi_otomatis() nya

avatar Yohanez
@Yohanez

13 Kontribusi 0 Poin

Diperbarui 4 tahun yang lalu

3 Jawaban:

make <pre> setTimeout(function(){},800) </pre> setTimeout itu bawaan dari javascriptnya, setelah 800ms baru menjalakan functionnya

avatar driyan
@driyan

193 Kontribusi 109 Poin

Dipost 4 tahun yang lalu

Tanggapan

dipasangnya dmn ya bro?

<pre> &lt;script&gt; function isi_otomatis(){ var barcode = $("#barcode").val(); $.ajax({ url: 'proses.php', data:{barcode:barcode} , }).success(function (data) { var json = data, obj = JSON.parse(json); $('#barcode').val(obj.barcode); $('#plu').val(obj.plu); $('#desk').val(obj.desk); $('#kategori').val(obj.kategori);
$('#lokasi').val(obj.lokasi); }); }

$(document).ready(function(){
    $(&quot;#inputan&quot;).keyup(function(){
     setTimeout(function(){ // make setTimeout
         isi_otomatis(); // functionnya disini 
     }, 800);
    });      
});

&lt;/script&gt; </pre>

avatar driyan
@driyan

193 Kontribusi 109 Poin

Dipost 4 tahun yang lalu

<pre> $(document).ready(function(){ $("#barcode").keyup(function(){ delay(function(){

        function isi_otomatis(){
            var barcode = $(&quot;#barcode&quot;).val();
            $.ajax({
                url: &#039;proses.php&#039;,
                data:{barcode:barcode} ,
            }).success(function (data) {
                var json = data,
                obj = JSON.parse(json);
	    $(&#039;#barcode&#039;).val(obj.barcode);
                $(&#039;#plu&#039;).val(obj.plu);
                $(&#039;#desk&#039;).val(obj.desk);
	    $(&#039;#kategori&#039;).val(obj.kategori);	
                $(&#039;#lokasi&#039;).val(obj.lokasi);
            });
        }
  

      }, 800);
  });      
});

</pre> ga jalan function isi_otomatisnya() ...

avatar Yohanez
@Yohanez

13 Kontribusi 0 Poin

Dipost 4 tahun yang lalu

Tanggapan

function isi otomatisnya tarok di luar document ready

liet comment saya di atas, udh di revisi

gagal gan..si onkeyup nya ttp proses per ketikan..

jadi setiap 1x ngetik, delay dulu baru ngejalanin functionnya ato mau pas udh beberapa ketikan, baru ngejalanin functionnya ?

Login untuk ikut Jawaban