我目前正在构建一个类似于gmail的电子邮件附件上传。 我有一个添加新文件输入的链接 当文件被选中时,它应该直接发布到我隐藏的iframe并显示进度条等等
在firefox,chrome等中它的效果很好,但在IE浏览器中根本无效
我现在正在为此工作几天...我在互联网上找到了多达5个解决方案,但没有一个能够工作, jquery更改事件不适用于我, 我的实际解决方案与click事件和setTimeout不起作用, 我不能使用Flash上传或其他上传插件,我使用的是jquery 1.6.2
这是创建输入的js代码: 它适用于ff,chrome和所有其他的gread,但是没有做任何事情,即
var file = $(document.createElement("input"))
.attr("type", "file")
.attr("name", "attachment"+upload_number)
;
if ($.browser.msie){
file.click( setTimeout( function() {
$("#uplform"+(upload_number-1)).submit();
}, 100));
}else{
file.change(function() {
$("#uplform"+(upload_number-1)).submit();
});
}
这是我在ff中构建的html:
<div id="Uploads">
<form id="uplform1" name="uplform1" enctype="multipart/form-data" method="post" target="uploadFrame1" action="/FileUploadServlet" style="margin-bottom: 0px">
<input type="file" name="attachment1">
<a href="javascript:removeFileInput('uplform1');">
<img class="attachmenticon" src="/images/delete.jpg">
</a>
<div id="hiddendiv1" style="display: none;">
<iframe id="uploadFrame1" name="uploadFrame1">
<html><head></head><body>
<script src="/jquery.js" language="JavaScript" type="text/javascript">
<script src="/myAjaxScripts.js" language="JavaScript" type="text/javascript">
<script>
ajaxFunction()
</script>
</body></html>
</iframe>
</div>
<img id="loadingbar1" class="attachmenticon" src="/images/green.png">
</form>
</div>
<div id="UploadsLink" style="display:block;">
<a href="javascript:addFileInput('/FileUploadServlet','');">Anhang hinzufügen</a>
</div>
提前致谢