欢迎来到第32,342,343集的"为什么Internet Explorer如此糟糕?"...
我看到很多报告称IE9上传文件时效果不佳。显然它有很多关于何时可以或不可以工作的注意事项(如果有人有明确的列表,我会很高兴看到它)。然而,我看到的大多数问题/解决方案都与javascript有关,通常是jQuery表单插件或类似的东西。
我的表单不是通过AJAX提交的,文件输入字段也没有被CSS隐藏或遮挡。然而,我每天从使用IE9尝试提交表单并且"没有任何反应"(=表单提交。没有错误,但文件没有上传)收到几个支持票。我没有得到过其他浏览器的投诉,甚至IE8 似乎可以工作(和以往一样)。
这是我的表单顶部。我错过了什么吗?
<form action="http://mysite.dev/account-settings/?open=resume" method="post" class="wpjb-form" enctype="multipart/form-data">
<input type="hidden" name="resume_form" value="resume_form" />
<fieldset class="wpjb-fieldset-default">
<input id="firstname" name="firstname" type="hidden" class="regular-text " value="John" />
<input id="lastname" name="lastname" type="hidden" class="regular-text " value="Henry" />
<input id="email" name="email" type="hidden" class="regular-text " value="john.henry@johnhenry.com" />
<div class="wpjb-element-input-checkbox wpjb-element-name-is_active">
<label class="wpjb-label">Show resume? </label>
<div class="wpjb-field">
<label for="is_active_1"><input type="checkbox" class="" name="is_active" id="is_active_1" value="1" checked="checked" /> Yes <small style="display:inline;">(Uncheck to hide your resume)</small></label>
</div>
</div>
<div class="wpjb-element-input-select-one wpjb-element-name-file">
<label class="wpjb-label">Upload a <i>new</i> resume file</label>
<div class="wpjb-field">
<input style="line-height:1em;" id="file" name="file" type="file" class="regular-text " />
<small class="wpjb-hint">Accepted file types: doc, docx, odf, pdf, rtf</small>
</div>
</div>
</fieldset>
...
接下来还有几个<fieldset>
,然后以这种方式结束:
....
<p class="submit">
<input type="submit" name="Submit" id="wpjb_submit" value="Save Changes" />
</p>
</form>
更新 我很高兴那些没有遇到这个问题的人,但我并不是唯一一个遇到它的人: http://answers.microsoft.com/en-us/ie/forum/ie9-windows_vista/cannot-upload-files-using-internet-explorer-9/5724d921-ae71-e011-8dfc-68b599b31bf5
更新2
我看到很多建议添加元标记以强制用户代理使用IE8...
<meta http-equiv="X-UA-Compatible" content="IE=8" />
我不想这样做,因为虽然我支持IE8,但我的网站上的许多元素在IE8和IE9中呈现不同。这将会给IE用户创造一个相当糟糕的用户体验,因为任何IE用户在该特定页面上都会经历暂时的“时间扭曲”,回到IE8。