file 타입의 input태그는 read-only 속성이기 때문에 value 속성에 사용자가 임의로 값을 넣을수가 없다.

따라서 document.getElementsByName("ATTACH_FILE_NAME")[0].value = ""; 나 $(".ATTACH_FILE_NAME").val(""); 처럼 사용할 수 없다. (ie에서 테스트해 봄)

익스플로러에서는 Line 10~Line 12 와 같이 작성해 초기화 시켰다. 그런데 크롬에서는 Line 8의 방법이 먹히는 듯 싶다.


Line 10  :  괄호 안의 name을 통해 복수개의 객체로 가져온다. (배열)

Line 11  :  i 번째를 선택한다.

Line 12  :  선택된 컨트롤의 값을 삭제한다. 

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
function clear_test(){
	var fileCnt = 2;
	if (fileCnt > 0) {
		for (var i = 0; i < fileCnt; i++) {
				if (document.getElementsByName("ATTACH_FILE_NAME")[i].value != null){
				//document.getElementsByName("ATTACH_FILE_NAME")[i].value = "";		//이걸론 초기화가 안됨
				
				var files = document.getElementsByName("ATTACH_FILE_NAME");
				files[i].select();
				document.selection.clear();
			}
		}
	}
}
</script>
<input type="file" name="ATTACH_FILE_NAME"/><br/>
<input type="file" name="ATTACH_FILE_NAME"/><br/>
<input type="button" value="초기화 버튼" onclick="clear_test()" />


참고 사이트 : Input FileUpload files Property ( http://www.w3schools.com/jsref/prop_fileupload_files.asp )