入力からアップロード値をクリアできません。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 が削除された後の 2 回目のアラートでは、常に「未定義」ではなく「オブジェクト」が表示されることに気付きました。
フォーム全体をリセットしようとしていない!