减去时间戳并获得毫秒

时间:2012-01-12 09:57:18

标签: javascript jquery

我需要检查表单是否提交了最后500毫秒。如果已提交,则阻止其提交。这是为了我的聊天,我需要阻止用户发送消息,如果他/她的最后一条消息是在最后500毫秒发送的。为了防止垃圾邮件,它每秒更多地使用2条消息。谢谢! :)

2 个答案:

答案 0 :(得分:3)

试试这个:

var start= (new Date()).getTime();
...................
var now = (new Date()).getTime();
var diff = now - start;//diff should be in milis

答案 1 :(得分:3)

在提交处理程序中,存储上次提交的时间。每次用户提交表单时,请检查上次提交的时间与当前时间的对比。

如果<

使用event.preventDefault()方法取消提交500毫秒。

$('yourForm').on('submit', function (e) {
    var self = $(this);
    var lastSubmission = self.data('last') || 0;
    var now = (new Date()).getTime();

    if (lastSubmission - now > 500) {
        self.data('last', now);
    } else {
        e.preventDefault();
    }
});