我有一个HTML表单( upload.htm ),其中包含HTML文件上传控件。
<form id="frmupload" name="upload" enctype="multipart/form-data" action="uploadhandler.ashx" method="post"> <input id="uploader" name="uploadctrl" type="file"/> </form>
上一页中还有一个JavaScript方法,如下所示:
function performUpload(){ document.getElementById('frmupload').submit(); }
我在一个页面内的页面( uploadpage.htm )中 称其 为iframe:
iframe
<iframe id="docframe" src="upload.htm" style="display:none"></iframe>
我尝试从 uploadpage.htm 页面执行以下所示的语句:
var i = document.getElementById('docframe'); i.contentWindow.performUpload();
我收到一条错误消息,说 Access被拒绝,并且调试器在显示的第一个JavaScript函数处停止。这两个文件都位于Web项目中的同一位置。它们也具有相同的域名。为什么我会收到此错误?
当然,在更早的时候,我可以发布页面:当我没有name为HTML上载控件设置属性时。但是在HTML标记中设置了name属性之后,出现了这个奇怪的错误。为什么我第一次没有得到这个?
name
出于安全原因,IE不允许从javascript操作type=“file”输入元素。设置文件名或调用单击事件以显示浏览器对话框将导致提交表单时出现“访问被拒绝”错误-InternetExplorer很聪明,可以记住已调用的方法。