Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

input type="file" 에서 값 초기화하기

<input type="file" name="attach" id="attach" />
을 사용했을 때 파일확장자를 제한하기 위해서 체크후에 잘못되었을 때 값을 초기화 해줄 필요가 있다.

근데 이게 만만치 않았단 말이지.... file의 경우에는 다른 input과 달라서 찾아보기를 통해서 입력하기 때문에

readonly로 기본 설정이 되어 있기 때문에

attach.value = ""; 라는 식의 자바스크립트로는 초기화 할 수가 없었다.

그래서 onchange="javascript:checkFile(this);" 를 통해서 자바스크립트를 호출해서 아래와 같이 해결했다.


function checkFile(file)                     
{
    file.select();
    document.selection.clear();
}

(물론 파일체크부분을 제거했다. 그부분에 대한 얘기가 아니므로..)

이렇게 하면 밸류를 초기화 할 수는 있지만 이거 뒤에 submit();을 할 경우 문제가 생긴다. 한번 오류나고 다시하면 되기는 하지만 아직 완전한 해결책은 찾지 못해서.. ㅡ..ㅡ
2007/09/16 00:38 2007/09/16 00:38