通过jquery设置type =“file”的值

时间:2012-08-30 04:36:25

标签: jquery html

  

注意:

     

下面的答案反映了2009年旧版浏览器的状态。现在,您可以在2017年使用JavaScript动态/编程地设置文件输入元素的值。

     

有关详细信息和演示,请参阅此问题的答案:
How to set file input value programatically (i.e.: when drag-dropping files)?

没有上传(浏览)文件,我想通过按钮点击设置fileuploader的值。是否可能或我的方式错误?
示例html:

<input type="file" id="files" />
<input type="button" id="btnTest" value="Test"/>

和jquery:

 $("#btnTest").click(function() {
      alert('test');
     //$('#files').html('pp.img');
     //$('#files').val('pp.img');
     $('#files').text('pp.img')
});

但它不适合我。

3 个答案:

答案 0 :(得分:8)

  

有可能吗?

都能跟得上

如果您能够通过JavaScript执行此操作,那将是一个严重的安全漏洞,因为您可以在用户的​​计算机上指定任何文件,这就是您不允许设置文件值的原因输入元素。

答案 1 :(得分:4)

我必须说没有跨浏览器的方式来做到这一点。 “无文件选择”文本位于窗口小部件的实现定义部分中,并且完全取决于浏览器。如果有必要你可以简单地使用CSS在值属性为空时用文本覆盖文本。

答案 2 :(得分:3)

我认为您根本不允许设置该值。因为如果你能够,你可以将C:\passwords.txt放在那里并自动提交值。不太安全。