jquery 将窗体的文件输入字段的值复制到另一个窗体的输入字段

f2uvfpb9  于 2023-10-17  发布在  jQuery
关注(0)|答案(4)|浏览(116)

所以我有两个表单,都有一个文件类型输入字段,

$('.inputfield1').change(function(){
   var file = $(this).val();
   $('.inputfield2').val(file);
});

但是它没有被正确复制,firebug在错误控制台中抱怨“安全错误”
我做错了什么,我如何才能正确复制一个文件输入字段的值
顺便说一下,目标表单有一个目标被设置为iframe(不是不同的域)

j8ag8udp

j8ag8udp1#

不能将一个文件输入的值移动到另一个文件输入。相反,克隆输入,将克隆放在原始表单所在的位置,然后将原始表单移动到隐藏表单中。

$(".inputfield1").change(function(){
  var $this = $(this), $clone = $this.clone();
  $this.after($clone).appendTo(hiddenform);
});
ruoxqz4g

ruoxqz4g2#

如果您需要将文件从一个输入复制到另一个输入,可以使用以下方法。

$(".inputfield2")[0].files = $(".inputfield1")[0].files;
67up9zun

67up9zun3#

我知道这是一个迟来的答案,但我有一个类似的问题,我今天才弄明白。
我所做的是在删除其他位置的当前文件后,将文件输入移动到新位置。通过移动元素,在我的所有测试中,一切都保持不变。

$('.inputfield1').change(function() {
  $('.otherinputfield').remove();
  $('#newform').append($(this));
});
bgibtngc

bgibtngc4#

const fileInput = document.querySelector('inputfield2'); const dataTransfer = new DataTransfer(); dataTransfer.items.add($(".inputfield1")[0].files); fileInput.files = dataTransfer.files;

相关问题