Chrome中的虚假文件上传未显示文件名

时间:2011-07-27 14:02:13

标签: javascript forms google-chrome upload

我正在尝试使用quirksmode.org上的解决方案来排序文件上传输入不一致问题,使用以下javascript:

$('.sidebar-uploadcv input[type=file]').attr('onchange','javascript:document.getElementById("fakeupload").value = this.value').addClass('file_input_hidden');

问题是,这在Chrome中无法正常运行。它呈现并且用户可以单击以选择文件,但文件名不会显示在#fakeupload输入中。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

通过调用.change()而不是.attr('onchange',...)找到解决方案。此方法适用于跨浏览器。

为了摆脱Webkit等人中的伪路径字符串,我还添加了var filename...行来删除文件名的那部分。

$('.input[type=file]').change( function() {
    var filename = $(this).val().replace(/C:\\fakepath\\/i, '');
    $('#fakeupload').val( filename );
});