2017-03-04 154 views
0

我想在用户提交表单后隐藏按钮。我将用户提交表单的时间存储在数据库表中。我想要的是在用户点击它2秒后禁用按钮。在特定时间后隐藏按钮

我使用php来计算时差和javascript来隐藏代码。

我不确定这是否正确,但php代码会在用户提交表单时增加2秒,如果从当前时间减去,则会减去该值。

这里是我的代码

$a = $row_rsGH['time']; 
$b = round(microtime(true)); 
$c = '2000';//--code in milliseconds 
$d = ($a+$c)-$b; 

<script type="text/javascript"> 
setTimeout(function() { 
    $('#ghdiv').fadeOut('fast'); 
}, <?php echo $d; ?>); // <-- time in milliseconds 
</script> 

我的目标是我想要的提交按钮被隐藏,被点击2秒后,当我刷新,它不会显示

+1

确定。那么问题是什么? 'echo $ d;'返回什么? – Ionut

+1

我也不明白这个问题。用户点击提交后2秒钟,你想要还是不要隐藏按钮? –

+0

对不起,我把问题与我的问题混淆了。我的目标是我希望提交按钮被隐藏,点击后2秒,当我刷新时,它不会显示 – Jahswey

回答

0

试试这个代码:

当您单击按钮至少2秒钟后隐藏按钮,如果它的id = ghdiv

document.getElementById("ghdiv").addEventListener("click",function(){ 
//you can put here any code to procced after the button clicked 
     setInterval(function(){ 
     $('#ghdiv').fadeOut('fast'); 
     },20000); 
}); 
1

你不需要那么多的复杂性。做这一切使用JS:

document.getElementById("ghdiv").addEventListener("click",function(){ 
 
     setTimeout(function(){ 
 
     $('#ghdiv').fadeOut('fast'); 
 
    },2000); 
 
});
button{ 
 
    color: white; 
 
    background-color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button id="ghdiv">My Button</button>

+0

嗨@Behrad感​​谢您的回答。如果我用这个刷新页面,按钮仍然会显示 – Jahswey

+1

JavaScript有一个'document',一个'getElementById',一个'addEventListener',一个回调机制...,这会导致js中的相似性。但你的回答不正确@mohade。 'setInterval'用于执行周期性任务,为了在程序中创建一个手动延迟,你应该使用'setTimeout()'。 – NDFA