在写有关文件上传的例子,貌似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值也可以正常取到.有没有知道这是什么原因,困扰了我一下午了.
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值也可以正常取到.有没有知道这是什么原因,困扰了我一下午了.
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>
关键是这样取到的值不是真实的客户端路径,而是伪装成"C:\fakepath\...."形式的路径(ie8中)