Programming(Web)/JAVASCRIPT
[JS] input type="file" 값 reset 하기
novasera
2009. 8. 19. 18:14
http://hoooow.tistory.com/entry/input-typefile-값-reset-하기
다중업로드 게시판을 만드는 중에 input type="file"의 버튼을 눌러 파일을 첨부하면
onChange 이벤트로 자동 업로드를 하고 결과를 바로 밑에 div에 보여주는 방식이였다.
헌데 업로드 후 똑같은 파일을 또 업로드 하려고 하면 전에 입력한 파일과 같은 값이니
onChange이벤트가 발생하지 않아 type="file"의 값을 초기화 시키기로 했다.
처음에는 file 폼만 값을 초기화 시키려고
document.fileForm.userfile.value = "";
했는데, 이 방법은 FF에서는 잘되지만 IE에서는 되지 않았다.
그래서 이번엔 위의 블로그를 보고
document.getElementById("userfile").select();
document.selection.clear();
이렇게 바꿔보았더니 IE에서는 되지만 FF에서는 document.selection이 뭐냐고하며 안됬다.
또한 IE에서도 잘되긴 하지만 select로 focus가 간다음 값을 바꿔서 그런지
onChange이벤트가 일어나서 쓰기 힘들었다.
결국 어떻게 할까 고민하다가 생각해보니 해당 form 태그 안에 input이 type="file" 하나밖에 없다는걸
깨달았고 (ㅠㅠ) 그냥 form.reset(); 으로 해결했다. (...)