表单 – IE无法发送文件上传时隐藏用于样式目的

好吧,我很困难所以我打开另一个关于样式文件-fileupload表单元素的问题.

经过一些尝试,我终于(想)我让它工作,但然后像往常一样IE将再次开始抗议.问题是,我将使用以下形式,它使用css隐藏真实的文件输入,因此使用fileHiddenInput div将其替换为伪造的.

HTML

<form enctype="multipart/form-data" method="post" name="uploadform" action = "">                    
  <div class="input-append">
    <input type="text" id = "appendedInputButtons" class="span2" name="fileuploadtext"><input type="button" id="upbutton" class="btn" value="Select"><input type="submit" name="upload" value="uploaden" class="btn">
  </div>
  **<div class="fileHiddenInput"><input id="upfile" type="file" name="file" value="upload" /></div>**
</form>

CSS:

/** file input **/
.fileHiddenInput {
    height: 0px;
    width: 0px; 
    overflow:hidden;
}

我将使用一些jquery发送表单,我也可以在这里放置代码.但经过多次试验和错误后,我会发现如果使用fileHiddenInput div保持使用css隐藏文件输入,IE9将不会发送文件输入.如果make我将通过删除fileHiddenInput div使文件输入可见或使用css使其可见,那么表单就像它应该做的那样得到发送.

有谁知道或有没有人找到了解决方法?

最佳答案 隐藏你的一些策略可能会尝试,一种是通过设置样式将元素放在屏幕上

position: absolute; z-index: 19999; top: -1000px; left: -1000px;

另一种方法是使用不透明控件覆盖文件输入元素.

点赞