我正在使用php,mysql,jquery。
当用户单击save时,我会转到后端并保存数据并显示响应。一旦显示成功,我需要禁用保存按钮1分钟。我该怎么做。?
这是ma代码

$(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); }
});

});

});

其中$timer设置为120000

最佳答案

禁用按钮1秒:

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

关于跟踪浏览器重新加载的编辑
您可以使用jQuery插件轻松访问cookies:http://plugins.jquery.com/project/cookie
if (success) {
 $('#buttonid').attr('disabled', 'disabled');
 setTimeout(function() { $('#buttonid').attr('disabled', ''); }, 1000);
 $.cookie('disabledTime', (new Date()).getTime());
}

然后在加载DOM时阅读:
$(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);
    }
  }
});

注意我没有测试这个,但是你知道

关于php - 锁定保存按钮一段时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2967146/

10-12 12:46
查看更多