注意:
下面的答案反映了2009年遗留浏览器的状态.现在,您可以在2017年使用JavaScript动态/编程地设置文件输入元素的值.
有关详细信息和演示,请参阅此问题中的答案:
如何以编程方式设置文件输入值(即:拖放文件时)?
没有上传(浏览)文件我想fileuploader通过按钮点击设置值.是可能还是我错了?
示例html:
<input type="file" id="files" />
<input type="button" id="btnTest" value="Test"/>
Run Code Online (Sandbox Code Playgroud)
和jquery:
$("#btnTest").click(function() {
alert('test');
//$('#files').html('pp.img');
//$('#files').val('pp.img');
$('#files').text('pp.img')
});
Run Code Online (Sandbox Code Playgroud)
但它不适合我.
可能吗?
如果您能够通过JavaScript执行此操作,那将是一个严重的安全漏洞,因为您可以在用户的计算机上指定任何文件,这就是您不允许设置文件输入元素的值的原因.
好吧,我必须说没有跨浏览器的方式来做到这一点。“未选择文件”文本位于小部件的实现定义部分,它完全特定于浏览器。如果有必要,当 value 属性为空时,您可以简单地使用 CSS 来覆盖文本。