我有一个包含两种表单的页面。其中一个不可见,包含 input type =“file”。我正在使用隐藏表单上传文件(表单的目标是iframe元素)。我的问题是如何在IE下使用javascript停止/取消上传文件。我试图用JQuery删除隐藏的表单,文件仍在上传。
提前致谢。
答案 0 :(得分:2)
行。我发现这个网站寻找相同的东西,但这些解决方案对我的方案不起作用。我的表单也有iframe目标,并且想要取消上传。这些解决方案由于某种原因不起作用(IE7)。我希望以下有所帮助。
问题是从servlet发出的指示“文件太大”的响应没有触发目标iframe onload事件。
尝试:
targetIframe.contentWindow.document.open()
targetIframe.contentWindow.document.close()
将iframe onload事件欺骗为触发并自动取消上传。
答案 1 :(得分:1)
您可能需要window.stop()
(适用于iframe)的内容。
This old thread报告虽然window.stop()
在IE中不起作用,但未记录的window.document.execCommand("Stop")
确实如此(至少在IE5中)。
你也可以咨询this StackOverflow page,它的答案基本相同,但提出了一些其他技巧。
答案 2 :(得分:1)
感谢您的回复。 至于我调试了这个案例,我得到了以下结果:) - 无法取消上传。上述方法取消了页面以接收响应,文件正在上传到服务器端。 这是我原型的标记:
<form id="form1" runat="server">
<div>
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
<input type="button" id="button1" value="stopUpload" onclick="stopUpload()"/>
<script type="text/javascript">
function stopUpload() {
var frame = $get("iframe1");
frame.contentWindow.document.execCommand("Stop");
}
</script>
</div>
</form>
<form id="form2" enctype="multipart/form-data" action="http://localhost/TestingSite/Default.aspx"
method="POST" target="iframe1">
<input type="submit" />
<input type="file" name="FileUploadTest" id="FileUploadTest"/>
</form>
<iframe id="iframe1" name="iframe1" width="500px" height="500px" ></iframe>