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

Max*_*axi 7 javascript forms jquery

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

如果我这样做:

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

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

Joh*_*isz 23

你的代码几乎是正确的:

$('#hidden_input_file').val(fileSelect);
Run Code Online (Sandbox Code Playgroud)

这将使jQuery更改输入的值.然而,input type="file"永远不能被*使用JavaScript(NOR闪存,NOR编程任何方式)改变.这是在所有最终用户浏览器中实施的安全功能,以防止网站琐碎的恶作剧:

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

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

*仅适用于网络上的JavaScript