在表单上传期间禁用按钮?

时间:2011-04-12 23:27:42

标签: javascript jquery html ajax forms

我的表格末尾有一个按钮,用户可以上传文件。我想在用户单击“上传”按钮时禁用该按钮,直到上传完成。这会很容易实现吗?

3 个答案:

答案 0 :(得分:2)

将此添加到按钮。

onclick="this.disabled=true;"

示例:

<input type="submit" onclick="this.disabled=true;" />

答案 1 :(得分:1)

我以前从未尝试过,但我认为这个主题可能很有用:jquery/JavaScript - Delay until upload complete

答案 2 :(得分:0)

您的解决方案包含两部分。首先,您要禁用“上传”按钮。

<form ... onSubmit="document.getElementById('fileThing').disabled = true;">
...
<input type="FILE" id="fileThing" size="40">
...
</form>

您可以在任何其他可能在该块中运行的JS之前添加JavaScript部分(例如调用AJAX脚本)。

接下来,您需要在启用按钮的AJAX脚本中添加一些代码。确切的位置会有所不同。我将假设您的AJAX脚本在收到服务器的完整响应时调用名为whenComplete的函数。将以下行添加到该函数中,以及任何其他请求后处理代码:

document.getElementById('filething').disabled = false;

你需要弄清楚这条线的确切位置,因为我们无法知道如何设置你的AJAX脚本而不看实现本身。