嗨,我有如下要求,我在一个表单中有一个文件元素,这个表单还包含许多其他字段,所以我无法提交它,但是在选择文件后我需要上传,所以我用 iframe 创建了第二个表单。我无法将文件元素从一种形式复制到另一种形式,尤其是在我尝试使用 cloneNode 和 appendChild 时都没有任何建议。我真的被困住了。
<form name ="form1">
<input type="file"/>
</form>
<form name="form2">
<form>
嗨,我有如下要求,我在一个表单中有一个文件元素,这个表单还包含许多其他字段,所以我无法提交它,但是在选择文件后我需要上传,所以我用 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);
}
此链接也可能有用。