无法从输入中清除上传值。我尝试从 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();
}
基本上我在提交表单之前删除输入元素并添加新元素。即使删除输入后,上传文件仍在收集中。我还注意到,在删除 el 后的第二次警报中,我总是得到“对象”而不是“未定义”。
不要试图重置整个表格!