Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 点击提交按钮后,延迟提交表单数据?_Javascript_Php_Jquery_Forms - Fatal编程技术网

Javascript 点击提交按钮后,延迟提交表单数据?

Javascript 点击提交按钮后,延迟提交表单数据?,javascript,php,jquery,forms,Javascript,Php,Jquery,Forms,我几乎完成了我的网站,但我的最后一个问题是,我想在点击提交按钮“Follow”后在Follow按钮上添加一个Loading.gif。为此,我需要在延迟后提交表单数据。对于在点击提交时显示loading.gif,我不需要帮助,只是为了延迟 我尝试了不同的代码,但都不起作用。以下是所有代码: 带有提交按钮的我的表单标签: <form id=followForm action="" method="POST"><input type="submit" name="follow" cl

我几乎完成了我的网站,但我的最后一个问题是,我想在点击提交按钮“Follow”后在Follow按钮上添加一个Loading.gif。为此,我需要在延迟后提交表单数据。对于在点击提交时显示loading.gif,我不需要帮助,只是为了延迟

我尝试了不同的代码,但都不起作用。以下是所有代码:

带有提交按钮的我的表单标签:

<form id=followForm action="" method="POST"><input type="submit" name="follow" class="btn_id9 shadow rounded-min ptr" value="Follow User" style="width:100%" /></form>

我希望你们能帮助我,谢谢

您需要做的是:

$("#followForm input").click(function(e) {
    e.preventDefault();
    setTimeout(function() { $("#followForm").submit(); }, 2000);
});
密钥是e.preventDefault。此方法将停止单击表单上正在提交的提交按钮的默认行为。然后,您可以执行任何需要执行的操作,然后手动提交表单,即$followForm.submit;是的


演示:

这是一个有趣的问题。我的第一个想法是这样做:

$("#followForm input").click(function(e) {
    e.preventDefault();
    setTimeout(function() { $("#followForm").submit(); }, 2000);
});

基本上,您希望在初始提交事件上使用event.preventDefault,然后是超时。超时完成后,您将重新触发事件,但请传递force参数,以便我们允许这次提交。

您是否收到任何错误?签入控制台我没有收到错误,但他没有延迟,他只是在点击提交按钮后发送。没有延迟,他只是在点击提交按钮后发送。我必须在头标签中包含哪些jQuery基本文档?
$('#followForm').on('submit', function (event, force) {
    if (!force) {
        var $this = $(this);
        event.preventDefault();
        setTimeout(function () {
            $this.trigger('submit', true);
        }, 2000);
    }
});