Javascript 文件上载值更改?
我希望在文件名(上载的文件)太长时更改文件上载值。例如,如果文件名为“This_file_has_long_name.txt”,我希望用有限的字符显示它,如“This_file..name.txt” 因此,我尝试了以下方法,但不起作用。请告知Javascript 文件上载值更改?,javascript,jquery,html,Javascript,Jquery,Html,我希望在文件名(上载的文件)太长时更改文件上载值。例如,如果文件名为“This_file_has_long_name.txt”,我希望用有限的字符显示它,如“This_file..name.txt” 因此,我尝试了以下方法,但不起作用。请告知 $("#file_browser").change(function() { var filename = this.value; filename = filename.substr(0,10); alert(filename); doc
$("#file_browser").change(function()
{
var filename = this.value;
filename = filename.substr(0,10);
alert(filename);
document.getElementById("file_browse").value = filename;
});
试试这个:
注意:如果名称的长度大于等于14,请将其更改。
$(文档).ready(函数(){
$(“#文件浏览器”).change(函数(){
var filename=$(this.val().replace(/C:\\fakepath\\\/i',);
//或者对于完整路径使用,var filename=$(this).val();
var len=filename.length;
如果(len出于安全考虑,您无法在js中更改属性名称,您将有
msgSecurityError:操作不安全。
如果你想这样做,你需要它隐藏默认的输入文件css去谷歌,因为你有图图
并在一个
示例中添加您的filname自定义,并放置在您想要的位置
如果您确实需要更改名称,请在服务器端进行更改
你好您最好使用name
属性只获取文件名并隐藏默认文件输入,因为您无法更改其值
$(“#文件输入”).change(函数(){
if(this.files.length==0){
回来
}
var name=this.files[0].name;
如果(名称长度>14){
name=name.substr(0,7)+“…”+name.substr(-7);
}
$(“#fileNameText”).text(名称);
});
$(“#选择按钮”)。单击(函数(){
$(“#文件输入”)。单击();
});
选择文件
选择一个文件
来点小把戏怎么样
JS
调整左边距和顶部位置
将文件名存储到变量数据中
然后使用$(this.val();
创建一个空字段,使您的输入类型文件标签包含类似无文件选择的内容,这是因为为了避免您的输入文件名太长意味着将出现滚动
对包含点使用“替换图案”
然后制作用于写入文件名的div标记
不要忘了添加透明文件文本颜色的css。它是如何工作的?这里的预期结果是什么?
$("#file_browse").change(function()
{
var data = $(this).val();
$(this).val();
data = data.replace(/(.{1,10}).{1,}(.{6})/,"$1..$2");
$("#file_browse").after("<div style='position:absolute; top:4px; margin-left:230px;'>"+data+"</div>");
});
input[type=file]
{
color:transparent;
}