음... 프로젝트 하다보면 파일 업로드는 필수인데
이놈에 file 은 value = "" 이렇게 줘도 도통 먹질 않는다.
아무것도 모를때 멍하니 저렇게 썼다가 안먹어서 한참을 씩씩 거렸던 기억이 ㅋ
그래서 맨 처음에 해결했던 방법은 innerHTML 을 이용해서 해결했었다.
<div id="content">
<input type="file" name="file" id="file" value="" />
</div>
위와 같은 div 영역에 input file 이 존재하고 있으면
document.getElementById("content").innerHTML = "<input type="file" name="file" id="file" value="" />";
위와 같이 div 영역에 input 을 innerHTML 을 이용하여 뿌려줬었다.
요즘에는 DOM Script 를 많이 이용하고 있다.
<div>
<input type="file" name="file" id="file" value="" />
</div>
위와 같은 경우
var obj = document.getElementById("file"); // file 의 Object 를 가져와서
var parent = obj.parentNode; // file input 을 감싸고 있는 div 의 Object 를 얻어온다.
var input = document.createElement("input"); // input 을 하나 만들구
input.type = "file"; // type 을 file 로 지정
input.id = "file"; // id 를 file 로 지정
input.name = "file"; // name 을 file 로 지정
input.setAttribute("type", "file");
input.setAttribute("id", "file");
input.setAttribute("name", "file");
위와 같이 setAttribute 로도 가능하다.
parent.removeChild(obj ); // 기존에 있던 file input 을 삭제하고.
parent.appendChild(input); // div 에 가져다 붙인다.
innerHTML 을 사용하면 한줄로 간단하게 끝나는 장점이 있고
DOM 을 사용하면 웹 표준을 지킨다는 장점이 존재한다.
[출처] input file 타입 초기화|작성자 lbiryu
<input type="text" onFocus="this.value='';return true;">
'javascript' 카테고리의 다른 글
userAgent 에이전트를 이용한 모바일 페이지로 자동 이동 (0) | 2010.09.01 |
---|---|
javascript Popup Boxes - 1 (0) | 2010.04.19 |
javascript date() (0) | 2010.03.22 |
JSON (0) | 2009.12.11 |
동영상 플레이 (0) | 2009.12.09 |