在已经开始之后停止提交表单
Stop form submission AFTER it has already been started
有没有办法在表单提交已经开始后停止提交。
这就是我的意思。我有这样的代码:
<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 请求。但是找不到在我超时时中止提交的方法。
是的,我知道 FormData(这不适合我,我可以扫除 IE < 9,但需要 IE 9 支持),以及一堆插件,它们仍然在引擎盖下使用 iframe(none 其中可以满足我的需求)。
不,没有。到超时函数运行时,浏览器将已经提交表单并正在加载新页面。
如果您想有条件地取消提交,最接近的方法是始终阻止默认表单行为,然后在超时时有条件地重启它(通过调用 submit()
)。
有没有办法在表单提交已经开始后停止提交。
这就是我的意思。我有这样的代码:
<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 请求。但是找不到在我超时时中止提交的方法。
是的,我知道 FormData(这不适合我,我可以扫除 IE < 9,但需要 IE 9 支持),以及一堆插件,它们仍然在引擎盖下使用 iframe(none 其中可以满足我的需求)。
不,没有。到超时函数运行时,浏览器将已经提交表单并正在加载新页面。
如果您想有条件地取消提交,最接近的方法是始终阻止默认表单行为,然后在超时时有条件地重启它(通过调用 submit()
)。