在表单提交已开始后停止表单提交

Stop form submission AFTER it has already been started

本文关键字:表单提交 开始      更新时间:2023-09-26

有没有办法在表单提交已经开始后停止提交。
这就是我的意思。我有这样的代码:

<form method="POST"
      action="/hell">
    <input type="text" name="filename">
    <input type="submit">
</form>
<script type="text/javascript">
    $('form').on('submit', function (event) {
        setTimeout(function () {
            // And here i need to stop the form submission process
        }, 1000);
    });
</script>

为了简化示例,假设表单目标页面的响应速度永远不会超过几秒钟。
我在这里真正想实现的是非 ajax 提交堕胎之类的东西。甚至可能吗?

添加:
我正在尝试制作一个jQuery插件(满足某些特定需求),并且为了发送带有表单的文件,我使用iframe来伪造同步ajax请求。但是找不到在 i 超时时中止提交的方法。
是的,我知道 FormData(它不适合我,我可以扫除 IE <9,但需要 IE 9 支持),以及一堆插件,它们仍然在引擎盖下使用 iframe(它们都不能满足我的需求)。

不,没有。当超时函数运行时,浏览器已经提交了表单并正在加载新页面。

如果您想有条件地

取消提交,那么最接近的方法是始终阻止默认表单行为,然后在超时有条件地重新启动它(通过调用submit())。