在写有关文件上传的例子,貌似ie8会出现问题报路径fakepath找不到,网上查了下采用下面的方法:
var newElement = document.createElement('input');
newElement.type = "file";
document.appendChild(newElement);
newElement.click();
newElement.select();
var value = document.selection.createRange().text;然后就碰到了比较奇怪的问题
1.当我把上传窗体用iframe形式嵌入到主窗体,那么value可以正常取到;但是没有放在主窗体中直接浏览器打开的话value就为空字符"".
2.没有嵌入到主窗体中直接浏览器打开的话我把第二行代码[document.appendChild(newElement);]改为:document.getElementById('fff').appendChild(newElement);后value值也可以正常取到.有没有知道这是什么原因,困扰了我一下午了.

解决方案 »

  1.   

    document.getElementById('fff') 是一个iframe吗?
      

  2.   

    <script type="text/javascript">
    var newElement = document.createElement('input');
    newElement.type = "file";
    document.appendChild(newElement);
    newElement.click();
    //newElement.select();
    //var value = document.selection.createRange().text;
    var value = newElement.value;
    alert(value);
    </script>
      

  3.   


    关键是这样取到的值不是真实的客户端路径,而是伪装成"C:\fakepath\...."形式的路径(ie8中)