无法从输入中清除上传值。我尝试从DOM中删除输入,然后用另一个具有相同ID的输入替换它。但是当表单提交时,旧输入中的文件仍在上传。是否需要以其他方式清除上传值?
<input id="input1" type="file"></>
<div id="div1" style="background-color:blue" onclick=removeEl()>remove</div>
<script>
function removeEl(){
alert(document.getElementById('input1').id)
var a = document.getElementById('input1').parentNode;
(a).removeChild(document.getElementById('input1'));
alert(typeof document.getElementById('input1'))
var newEl=document.createElement('input');
newEl.setAttribute('id','input1');
newEl.setAttribute('name','images[]');
newEl.type = 'file';
a.appendChild(newEl)
submitForm();
}
基本上我在提交表单之前删除了input元素并添加了新元素。即使在删除输入后,仍然正在收集上传文件。我还注意到,在删除el之后的第二个警报中,我总是得到'对象'而不是'未定义'。
不试图重置整个表单!