jQuery,选择输入文件并将其设置为另一个输入

该网站有2个输入字段,我只选择1个字段,另一个是不可见的。 现在我想将不可见的.val()更改为所选的.val(),因此两个字段都上传相同的文件。 这是如何运作的?

如果我这样做:

$('#input_file').change(function() { var fileSelect = $(this).val(); $('#hidden_input_file"]').val(fileSelect); console.log(fileSelect); }); 

我收到此错误:Uncaught InvalidStateError:无法在’HTMLInputElement’上设置’value’属性:此input元素接受一个文件名,该文件名只能以编程方式设置为空字符串。

你的代码几乎是正确的:

 $('#hidden_input_file').val(fileSelect); 

这将使jQuery更改输入的值。 但是, input type="file"值永远不能用JavaScript(也不是Flash,也不是任何编程方式)来改变。 这是在所有最终用户浏览器中实施的安全function,以防止网站遭受琐碎的恶作剧:

 $('#hidden_input_file').on('blur', function (e) { $('#hidden_input_file').val('c:\passwords.txt'); // won't work }); 

启用从用户计算机上载的文件URL的程序化更改将是一个可怕的安全问题。

*仅适用于网络上的JavaScript