【问题标题】:jQuery, Select Input FILE and also set it to another INPUTjQuery,选择输入文件并将其设置为另一个输入
【发布时间】:2015-06-25 13:54:17
【问题描述】:

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

如果我这样做:

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

我收到此错误: 未捕获的 InvalidStateError:无法在“HTMLInputElement”上设置“value”属性:此输入元素接受文件名,该文件名只能以编程方式设置为空字符串。

【问题讨论】:

    标签: javascript jquery forms


    【解决方案1】:

    您的代码几乎是正确的:

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

    这将使 jQuery 改变输入的值。但是,input type="file" 永远*不能用 JavaScript(Flash 或任何编程方式)更改。这是在所有最终用户浏览器中实施的安全功能,以防止网站发生小事:

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

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

    *仅适用于 web 上的 JavaScript

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 2018-02-12
      相关资源
      最近更新 更多