在提交表单之前设置延迟,然后再次提交

时间:2015-03-24 20:44:30

标签: jquery

评论表是在按键(输入)上提交的,但我需要设置延迟/冷却时间,因此无法一遍又一遍地提交。

$( document ).on('keypress', '#default_add_comment_form textarea, #default_add_comment_form input', function( event ){
    if ( event.keyCode == '13' ) {
        event.preventDefault();
        $('#default_add_comment_form').submit();
    }
});

我尝试了Jquery的'延迟'方法,就像在$('#default_add_comment_form').delay(5000).submit();中一样,但它不起作用。

下面提出的答案似乎不起作用。

    $( document ).on('keypress', '#default_add_comment_form textarea, #default_add_comment_form input', function( event ){
        if ( event.keyCode == '13' ) {
            event.preventDefault();
            $('#default_add_comment_form').submit();
            $('#default_add_comment_form input[type="submit"]').attr('disabled','disabled');
setTimeout(function(){
   $('#default_add_comment_form input[type="submit"]').removeAttr('disabled');
}, 50000);
        }
    });

2 个答案:

答案 0 :(得分:0)

$('#default....').submit();

之后添加此代码
$('#default_add_comment_form input[type="submit"]').attr('disabled','disabled');
setTimeout(function(){
   $('#default_add_comment_form input[type="submit"]').removeAttr('disabled');
}, _your_interval_in_milliseconds_);

答案 1 :(得分:0)

在提交时,添加一个拦截未来提交的侦听器并显示一条消息。当它超时时,删除监听器。