将html输入文件元素从一个表单复制到另一个表单

copy html input file element from one form to another

本文关键字:表单 一个 复制 另一个 输入 html 文件 元素      更新时间:2023-09-26

Hi我有一个如下的要求,我有一种表单中的file元素,该表单包含许多其他字段也可以,所以我不能提交,但在文件选择后,我需要上传所以我用iframe创建了第二个表单。我无法将文件元素从一个表单复制到另一个表单,尤其是在我尝试使用cloneNode和appendChild时。两者都不起任何作用。我真的被卡住了。

<form name ="form1">
   <input type="file"/>
</form>
<form name="form2">       
<form> 

看起来cloneNode已经允许克隆文件输入。可能的代码如下:

<form name="form1">
  <input id="file1" type="file" onchange="copy_file_input()" />
</form>
<form name="form2" enctype="multipart/form-data">
  <input type="hidden" name="test" value="form2sent" />
</form>
function copy_file_input() {
  var target_form = document.forms.form2;
  if (target_form.file2 != undefined) {
    target_form.removeChild(target_form.file2);
  }
  var elem = document.getElementById('file1');
  var copy = elem.cloneNode(true);
  copy.name = 'file2';
  target_form.appendChild(copy);
}

此外,此链接可能很有用。