0

我正在静默提交一个表单,即没有使用 jquery.submit() 方法刷新页面。当用户选择文件并单击上传按钮时,上传开始并启用取消按钮。但我不知道如何在两者之间取消此上传。官方 jquery 文档说

“我们可以通过在事件对象上调用 .preventDefault() 或从我们的处理程序返回 false 来取消提交操作”,但我不明白在我的情况下如何使用它。下面是我用来提交表单的代码。

$('#button').click(function() {
    $('#form').submit();
});
4

2 回答 2

0

一旦提交已到达服务器,您就无能为力了(表单)。

这样做return false;最多可以防止提交发生。

于 2012-07-19T13:50:02.703 回答
0

我认为 jquery .submit() 方法的使用方式有些混乱。从jquery 文档

当用户尝试提交表单时,提交事件被发送到元素。它只能附加到元素上。<input type="submit">可以通过单击显式、 <input type="image"><button type="submit">或在某些表单元素具有焦点时按 Enter来提交表单。

这意味着这个方法所做的只是处理表单的提交事件。如果您取消活动,则您的文件上传将被取消。中间没有。您要么允许上传文件,要么完全取消表单提交(上传)。此外,要使用 .preventDefault(),它看起来像这样:

$('#button').click(function() {
    $('#form').submit();
});

$('#form').submit(function(e) {
    e.preventDefault();
    // could also use return false; as a previous poster 
    // suggested but I have found e.preventDefault() to be more reliable
});

您可能需要查看一些 3rd 方插件来完成您想要做的事情。一个这样的插件是Uploadify

于 2012-07-19T14:00:26.213 回答