bir süre için düğmeye tasarruf kilitleme

2 Cevap php

i php, mysql, jquery kullanarak duyuyorum.

I arka uç ve verileri kaydetmek ve tepki göstermek için gitmek bir kurtarış kullanıcı tıkladığında. bir kere ben diyelim 1 dakika için kaydetmek düğmesini devre dışı bırakmak için gereken başarıyı gösterecektir. ben bunu nasıl yapar.?

Burada ma kodu

$(document).ready(function() {

 if ($.cookie('<?php echo $userId ?><?php echo $product ?><?php echo $alias ?>agreedisabledTime') > 0) {


    var remainingTime = (new Date()).getTime() - $.cookie('<?php echo $userId ?><?php echo $product ?><?php echo $alias ?>agreedisabledTime');


 if (remainingTime < <?php echo $timer ?>) {
  //if (remainingTime < 7200) {
       $('#agree').attr('disabled', 'disabled');
       $('#disagree').attr('disabled', 'disabled');
       setTimeout(function() { $('#agree').attr('disabled', ''); }, remainingTime);
       setTimeout(function() { $('#disagree').attr('disabled', ''); }, remainingTime);

    }
  }

$('#agree').click(function()
{
$('#response').show();
$.post('/all_include_files/increment.php',{update:'agree',product:"<?php echo $product?>",alias:"<?php echo $alias ?>"},function(data)
{
if(data.indexOf('ERROR') < 0)
{
$('#response').hide();
$('.agree_number').html(data);
alert('Thanks for your esteemed opinion');
 $('#agree').attr('disabled', 'disabled');
 $('#disagree').attr('disabled', 'disabled');

setTimeout(function() { $('#agree').attr('disabled', ''); }, "<?php echo $timer ?>");
setTimeout(function() { $('#disagree').attr('disabled', ''); }, "<?php echo $timer ?>");

$.cookie('<?php echo $userId ?><?php echo $product ?><?php echo $alias ?>agreedisabledTime', (new Date()).getTime());
}
else
{ alert(data); }
});

});

});

$ zamanlayıcı 120.000 ayarlanır nerede

2 Cevap

1 saniye için düğmesini devre dışı bırakın:

if (success) {
 $('#buttonid').attr('disabled', 'disabled');
 setTimeout(function() { $('#buttonid').attr('disabled', ''); }, 1000);
}

EDIT about keeping track of browser reloads
You can easily access cookies with the jQuery plugin: http://plugins.jquery.com/project/cookie

if (success) {
 $('#buttonid').attr('disabled', 'disabled');
 setTimeout(function() { $('#buttonid').attr('disabled', ''); }, 1000);
 $.cookie('disabledTime', (new Date()).getTime());
}

Sonra DOM yüklenmesi üzerine onu okuyun:

$(document).ready(function() {
  if ($.cookie('disabledTime') > 0) {
    var remainingTime = (new Date()).getTime() - $.cookie('disabledTime');
    if (remainingTime > 0) {
       $('#buttonid').attr('disabled', 'disabled');
       setTimeout(function() { $('#buttonid').attr('disabled', ''); }, remainingTime);
    }
  }
});

Ben bu test etmedi unutmayın, ama fikir olsun

Bunun yerine bir süre için devre dışı size komutu başladığınızda, ben düğmesini etkinleştirmek için komutun tamamlanması üzerine geri arama kullanın ve devre dışı olacaktır. Ben de bir hata oluştu eğer başarısız ve tekrarlanan hataları sistem offline veya bir hata var ima etmek olasıdır kullanıcıya bir hata pop-up ile, bunu etkinleştirmeyi unutmayın olacaktır.