0

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

フォーム全体をリセットしようとしていない!

4

0 に答える 0