본문 바로가기

Story/Javascript

file 필드에 임의의 값을 강제로 입력시 submit 안될경우

반응형

var fileVal = false;
try{
    var xdoc = new ActiveXObject("Msxml.DOMDocument");
    xdoc.async = false;
    xdoc.load(tar.nm_file.value);
}catch(e){
    if (xdoc.parseError.errorCode != 0) fileVal = true;
}
if(!fileVal){
    currentObj = document.getElementById('nm_file');
    parentObj  = currentObj.parentElement
    parentObj.removeChild(currentObj);
    parentObj.appendChild(currentObj.cloneNode(true));
}
 
input type file 에 이미지나 동영상등 images 객체의 dynsrc 값을 받아 체크할경우도 있으나 그외의 file type 에 대해서는 적용되지 않는다.
임시 급한대로 만들어 본것인대 submit 될때 체크 루틴에 포함해서 사용해 봤다.
브라우져별로 테스트도 못해봤고 여러 경우에 대해 테스트해보지 못한것이나 일단 급한대로 사용중이다.
설명을 하자면 xml을 읽어 드리는 부분을 이용하여 꽁수를 부린것이다.
try 문의 catch 문으로 빠지면서 errorCode 값이 0 이 아닌경우가 정상적인 파일인 경우이다. 
그 외의 경우에서는 file 객체를 잡아서 상위에서 자식을 삭제하면서 초기값으로 되살린다.
file 의 값을 임의로 자바스크립트에서 지정할수 없기때문에 이러한 방법을 취했다.
아직 잘 모르는 부분은 정상적인 xml 파일일경우도 에러코드가 발생한다는 것이다.
반응형

'Story > Javascript' 카테고리의 다른 글

법인번호 체크  (0) 2009.01.19
사업자등록번호 체크  (0) 2009.01.19
input 상자안에 숫자값만 입력 받기  (0) 2009.01.19
문자길이 체크  (0) 2009.01.19
아이디만들때 제약사항 체크  (0) 2009.01.19