为什么我的表单不能在Internet Explorer 9中上传文件?

eme*_*his 19 forms internet-explorer file-upload cross-browser internet-explorer-9

欢迎阅读第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>
        ...
Run Code Online (Sandbox Code Playgroud)

它继续像这样,有几个<fieldset>s然后像这样结束:

    ....
    <p class="submit">
        <input type="submit" name="Submit" id="wpjb_submit" value="Save Changes" />
    </p>
</form>
Run Code Online (Sandbox Code Playgroud)

更新 我很高兴所有从未遇到过这个问题的人,但不仅仅是我:http: //answers.microsoft.com/en-us/ie/forum/ie9-windows_vista/cannot-upload-files-using-internet -explorer-9/5724d921-AE71-e011-8dfc-68b599b31bf5

Update2 我看到很多建议添加一个元标记来强制用户代理IE8 ... <meta http-equiv="X-UA-Compatible" content="IE=8" /> 我不想这样做因为虽然我支持IE8,但我网站上的许多元素在IE8中呈现不同与IE9.这将创建一个相当草率的用户体验,因为任何IE用户都会经历我在该特定页面上临时"时间扭曲"回到IE8.

Dan*_*ner 0

正如 Graham 所做的那样,我认为这可能更多是一个服务器问题 - 而且我从未在 IE9(或更高版本)中遇到过文件上传问题 - 我想您不想发布处理上传的 PHP 脚本的代码?