【发布时间】:2012-11-12 11:57:34
【问题描述】:
我们正在尝试使用隐藏的 iframe 上传文件,并且脚本在除 IE(9) 之外的所有浏览器中运行。
- 用户点击链接
- 链接触发文件输入打开
- 文件输入更改触发表单提交
- 表单提交到 iframe
IE9 开发者工具返回如下错误信息:
SCRIPT5: Access is denied.
jquery-latest.js, line 2977 character 6
环顾四周,似乎是在 jQuery change() 事件旁边发生的错误。相当肯定它一定是一个简单的解决方案......如果你能提供帮助,非常感谢!
HTML
<form class="hidden" action="index.php?upload" method="POST" id="myForm" enctype="multipart/form-data" target="hidden_iframe">
<input type="file" name="userfile" id="userFile">
<input type="submit">
</form>
<iframe id="hidden_iframe" class="hidden" name="hidden_iframe" src="inc/temp.html"></iframe>
Javascript
$('#fake').on("click",function(e){
e.preventDefault();
$('#userFile').click();
return false;
});
$('#real').on("change",function(e){
e.preventDefault();
$("#myForm").submit();
});
【问题讨论】:
-
您不应使用已弃用的
.live(),而应使用较新的.on() -
感谢提醒!但不能解决问题。
标签: javascript jquery html iframe