JS / JQuery表单提交延迟

时间:2015-05-28 15:04:51

标签: javascript jquery forms delay

我试图延迟提交表单,但只有当我在延迟后触发提交时才会发送表单值。

这是我的HTML

<form id="form_anim" name="form" autocomplete="off" action="index.php" method="POST">
    <input name="username" id="username" type="text" placeholder="Nome utente" autofocus required>
    <input name="password" id="password" type="password" placeholder="Password" required>
    <a href="#">Hai dimenticato la password?</a>
    <input id="invio" name="invio" type="submit" value="Accedi">
</form>

这是脚本

   $('#form_anim').on('submit', function (event, force) {
    if (!force) {
        var $this = $(this);
        event.preventDefault();
        setTimeout(function () {
            $this.trigger('submit', true);
        }, 2000);
    }
});
请帮助我。

4 个答案:

答案 0 :(得分:1)

这将有效地提交您的表格。

$('#form_anim').on('submit', function (e) {
    var form = this;
    setTimeout(function () {
        form.submit();
    }, 2000);
    return false;
});

(顺便说一句,你不需要jQuery,除非你想支持IE8及以下版本)

Demo page

监控您的网络(通过浏览器检查程序)以查看其运行情况

答案 1 :(得分:-1)

请注意您是否打算提交两次?

{{1}}

答案 2 :(得分:-1)

我建议您使用不带type="submit"的按钮:

<button id="send">Send</button> 

$('#send').on('click', function(event) {                       
    setTimeout(function() {
       $('#form_anim').submit();
    }, 2000);        
});

答案 3 :(得分:-1)

尝试以下代码 它运作顺利

<form onsubmit="return delay('1')" id="form_anim" name="form" autocomplete="off" action="#" method="get">
    <input name="username" id="username" type="text" placeholder="Nome utente" autofocus required>
    <input name="password" id="password" type="password" placeholder="Password" required>
    <a href="#">Hai dimenticato la password?</a>
    <input id="invio" name="invio" type="submit" value="Accedi"/>
</form>

的Javascript

<script>
    function delay(a){
        if(a == 1){
            setTimeout(delay(2),2000);
            return false;
        }
        else{
            $("#form_anim").submit();
        }
    }
</script>