在IE中清空C:\ fakepath \ ..文件上传

时间:2010-10-21 20:09:56

标签: javascript jquery

如果在textarea中输入内容,如何从input type = file中删除选择。以下Jquery失败,因为IE将本地驱动器和目录路径替换为C:\ fakepath \ file.txt。
非常感谢提前。

$("textarea#txt_id").live('keyup', function(){
    $('input[type=file]').val('');
});

<textarea name="txt" id="txt_id" rows="8" cols="64"></textarea>

<input type="file" name="file" id="file_id" />

2 个答案:

答案 0 :(得分:2)

用相同的html替换文件控件将清除它

$('#fileId').html($('#fileId').html());

或仅使用java脚本......

function clearFileInputField(fieldName) {
    document.getElementById(fieldName).innerHTML = 
                    document.getElementById(fieldName).innerHTML;
}

答案 1 :(得分:1)

为您提供解决方案。首先检查浏览器是否为IE,然后使用encodeURI对所有文件路径和名称进行编码,首先必须先执行此操作才能正确捕获未转义的字符,如“\”。然后换掉,它为我工作:

var browserName=navigator.appName; 
if (browserName=="Microsoft Internet Explorer")
{
    var soloNombre = encodeURI(soloNombre);
    soloNombre = soloNombre.replace("C:%5Cfakepath%5C","");
    var soloNombre = decodeURI(soloNombre);
    alert(soloNombre);
}

像魅力一样。