我们试图使用隐藏的iframe上传文件,脚本运行在除IE(9)以外的所有浏览器中。jQuery隐藏的iframe文件上传
- 一个链接,用户点击
- 链接触发文件输入打开
- 文件输入变化触发的形式提交
- 表单提交到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()',但较新的'。对()' – ThiefMaster
感谢您的提醒!虽然没有解决问题。 –