【问题标题】:Fake file upload in Chrome not showing file nameChrome中的假文件上传不显示文件名
【发布时间】:2011-10-14 07:32:14
【问题描述】:

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

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

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

谁能帮忙?

【问题讨论】:

  • 出于安全原因,Chrome 不允许您使用 JS 访问文件目录。如果我没记错的话,任何 JS 操作都会创建一个 C:\Fakepath\file.jpg。
  • 问题是 - 即使没有放入 fakeupload 输入字段,上面的 javascript 应该(我认为)实现。

标签: javascript forms google-chrome upload


【解决方案1】:

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

为了摆脱 Webkit 等人中的 fakepath 字符串,我还添加了 var filename... 行以去除文件名的那部分。

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

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2016-07-12
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 2022-01-26
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多