2012-08-10 4 views
2

다음과 같은 문제가 있습니다.자바 스크립트로 파일 업로드 대화 상자를 차단하십시오.

특정 텍스트 필드에 값이있는 경우에만 파일 대화 상자를 표시해야하는 aspx 파일 업로드 입력이 있습니다. 그렇지 않으면 필드를 채우기 위해 alter say을 표시해야합니다.

jquery를 사용할 수 없습니다.

+0

jquery는 자바 스크립트입니다. 단지 일을 더 쉽게 해주지 만, 브라우저 자바 스크립트로 barebones로 할 수없는 일은하지 않습니다. –

+1

알아요.하지만 고객이 석기 시대에 살기를 원하기 때문에 jquery를 사용할 수 없다고 말합니다. –

+0

무엇을 시도 했습니까? 파일 선택기가 비활성화되어 있으면 대화 상자가 나타나지 않을 것이라고 지금 당장 말할 수 있습니다. – travis

답변

2

이벤트 개체의 기본값을 계속 사용하지 못하도록 설정할 수있는 preventDefault 함수가 있습니다. 이것을 사용하면 파일을 선택하려고 할 때 실행되는 클릭 이벤트를 파일 업로드에 첨부 할 수 있습니다. 거기에서 텍스트 입력 값을 확인하고 파일 요소의 기본값을 반환하거나 중지 할 수 있습니다.

(function() { 
    var __file = document.getElementById('file'); 
    var __text = document.getElementById('required'); 

    __file.addEventListener('click', function (e) { 
    e = e || window.event; 

    if (__text.value.length === 0) 
    { 
     e.preventDefault(); 
     return alert('Please fill out the textbox!'); 
    } 


    }) 
})() 

참고 : Chrome에서만 테스트되었습니다.

+0

감사합니다! 나는 그것을 시험해보고 나중에보고 할 것이다. –

+0

그것은 효과가 있었다. 당신의 도움을 주셔서 감사합니다. –

관련 문제