将表单文件输入字段的值复制到另一个表单的输入字段

时间:2012-01-17 16:22:46

标签: javascript jquery html forms file-upload

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

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

但是它没有被正确复制,并且firebug在错误控制台中抱怨“安全错误”

我做错了什么以及如何正确复制文件输入字段的值

顺便说一下,目标表单有一个设置为iframe的目标(不是一个不同的域)

2 个答案:

答案 0 :(得分:35)

您无法将一个文件输入的值移动到另一个文件,这是一个安全风险。而是克隆输入,将克隆放在原始位置,然后将原始内容移动到隐藏的表单中。

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

答案 1 :(得分:1)

我知道这是一个迟到的答案,但我遇到了类似的问题,我今天才知道。

我所做的是在删除其他位置的当前输入后将文件输入移动到新位置。通过移动元素,在我的所有测试中,一切都保持不变。

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