我正在尝试使用quirksmode.org上的解决方案来排序文件上传输入不一致问题,使用以下javascript:
$('.sidebar-uploadcv input[type=file]').attr('onchange','javascript:document.getElementById("fakeupload").value = this.value').addClass('file_input_hidden');
问题是,这在Chrome中无法正常运行。它呈现并且用户可以单击以选择文件,但文件名不会显示在#fakeupload输入中。
有人可以帮忙吗?
答案 0 :(得分:1)
通过调用.change()
而不是.attr('onchange',...)
找到解决方案。此方法适用于跨浏览器。
为了摆脱Webkit等人中的伪路径字符串,我还添加了var filename...
行来删除文件名的那部分。
$('.input[type=file]').change( function() {
var filename = $(this).val().replace(/C:\\fakepath\\/i, '');
$('#fakeupload').val( filename );
});