Media Log

보호되어 있는 글 입니다.
내용을 보시려면 비밀번호를 입력하세요.

파일 업로드시 자바스크립트로 체크하는 방법 하루 종일 삽질하면서 찾았다.
일단 기존에 image객체 생성해서 unload 해서 하는 방법은 익스플로러 7.0이상에서는 안된다.
6.0버전대는 안해봐서 모르겠다.

아래 방법을 사용하면 된다.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.GetFile(document.getElementById("file").value);
var fileSize = f.size;
f = null;
fso = null
if(fileSize/1024 > 500)
{
  alert("이미지 파일 사이즈는 500kbyte를 넘을 수 없습니다.");
}

그런데 위의 방법대로 해도 안되는 경우가 생겼다.

오류멧세지가 "자동화서버 어쩌구 저쩌구다."
그럴때는
이걸 깔아준다.

그리고 인터넷 도구->옵션->보안->승인되지 않은스크립트를 확인이나 사용으로 해놓고 컴터 재부팅을 해주고 하면 성공.....

input type=file의 값을 없에려고 value="" 이렇게 해봐야 소용없다. 안된다.

document.getElementById("file").select();
document.selection.clear();

이렇게 해야 없어진다.

<input type="file" name="img" size=25 >
<input type="button" value="등록" onclick="_check()">
<script type="text/javascript">
function _check()
{
   if(document.getElementById("img"))
   {
     var str = document.getElementById("img").value;
     dot = str.lastIndexOf(".");
     ext = str.substring(dot).toLowerCase();
     if (ext != ".jpg" && ext != ".JPEG" && ext != ".gif")
     {
        alert("이미지는 업로드 할 수 없는 확장자입니다.");
        document.getElementById("img").select();
        document.selection.clear();
        return false;
      }
   }
</script>

위에 대로 만 하면 업로드 할려는 파일의 확장 자를 체크할 수 있다.

일반적으로 체크 박스 사용시에

<input type='checkbox' name='abc' id='abc'>체크

이런 식으로 사용한다.

위의 경우로 사용하면 선택시 체크 박스를 클릭해야 체크가 된다.

체크1 이라는 부분을 클릭해서도 체크가 가능 하도록 하려면

<label></label>을 이용한다.

<input type='checkbox' name='abc' id='abc'><label for='abc1'>체크1</label>