所以我有两个表单,都有一个文件类型输入字段,
$('.inputfield1').change(function(){ var file = $(this).val(); $('.inputfield2').val(file); });
但是它没有被正确复制,firebug在错误控制台中抱怨“安全错误”我做错了什么,我如何才能正确复制一个文件输入字段的值顺便说一下,目标表单有一个目标被设置为iframe(不是不同的域)
j8ag8udp1#
不能将一个文件输入的值移动到另一个文件输入。相反,克隆输入,将克隆放在原始表单所在的位置,然后将原始表单移动到隐藏表单中。
$(".inputfield1").change(function(){ var $this = $(this), $clone = $this.clone(); $this.after($clone).appendTo(hiddenform); });
ruoxqz4g2#
如果您需要将文件从一个输入复制到另一个输入,可以使用以下方法。
$(".inputfield2")[0].files = $(".inputfield1")[0].files;
67up9zun3#
我知道这是一个迟来的答案,但我有一个类似的问题,我今天才弄明白。我所做的是在删除其他位置的当前文件后,将文件输入移动到新位置。通过移动元素,在我的所有测试中,一切都保持不变。
$('.inputfield1').change(function() { $('.otherinputfield').remove(); $('#newform').append($(this)); });
bgibtngc4#
const fileInput = document.querySelector('inputfield2'); const dataTransfer = new DataTransfer(); dataTransfer.items.add($(".inputfield1")[0].files); fileInput.files = dataTransfer.files;
4条答案
按热度按时间j8ag8udp1#
不能将一个文件输入的值移动到另一个文件输入。相反,克隆输入,将克隆放在原始表单所在的位置,然后将原始表单移动到隐藏表单中。
ruoxqz4g2#
如果您需要将文件从一个输入复制到另一个输入,可以使用以下方法。
67up9zun3#
我知道这是一个迟来的答案,但我有一个类似的问题,我今天才弄明白。
我所做的是在删除其他位置的当前文件后,将文件输入移动到新位置。通过移动元素,在我的所有测试中,一切都保持不变。
bgibtngc4#
const fileInput = document.querySelector('inputfield2'); const dataTransfer = new DataTransfer(); dataTransfer.items.add($(".inputfield1")[0].files); fileInput.files = dataTransfer.files;