2012-07-10 2 views
0

여러 파일 업로드를 허용하는 양식을 웹 페이지에 추가했습니다. 나는 입력 <input type="file" name="photo_upload[]" id="photo_upload" multiple="multiple" />을 추가했다.javascript를 사용하여 작동하도록 html5 기능 비 호환성 경고를받는 방법

브라우저에서 여러 파일 기능을 지원하지 않는 경우에만 표시되는 경고를 추가하려고했습니다. 이 코드를 시도 :

<script type="text/javascript"> 
var testrange=document.createElement("input") 
testrange.setAttribute("multiple", "multiple") 
if (testrange.multiple=="multiple"){ 
    document.getElementById('multiple_warning').style.display = 'none'; 
} 
</script> 
<div id="multiple_warning" style="background:#FFFF99; border:dashed; border-width:thin;">Sorry, but your browser does not support the multiple file upload feature.<br /> 
If you have more than one photo to send us, please send it after you recieved your comformation email.</div> 

하지만 항상 "multiple_warning"을 표시합니다. 어떻게하면 제대로 작동합니까? 테스트는 항상도 실패한 이유

+0

사용한 브라우저는 무엇입니까? – Hkachhia

+0

이 [예제] (http://stackoverflow.com/questions/8010122/modernizr-just-for-one-quick-check)와 같이 MODERNIZR 라이브러리를 사용할 수 있습니다. – SpecialHias

답변

0

확인 콘솔 확인합니다)

testrange.setAttribute("multiple", "multiple") 
console.log(testrange.multiple); 

당신은 당신이 특정 속성에 대한 테스트 모더 나이저를 사용할 수있는이 조각

if (!("multiple" in testrange)) { 
    alert("no multiple upload supported"); 
} 
1

이 기능을 확인할 수 있습니다. 이 기능을 많이하고 있다면

var testrange = document.createElement("input") 
if ("multiple" in testrange) { 
    document.getElementById("multiple_warning").style.display = "none"; 
} 

: 자사의 오픈 소스, 크로스 브라우저 HTML 5 감지 라이브러리

if(Modernizr.input[attribute])){ 
    alert("Attribute exists"); 
} 
else{ 
    //error handling 
} 

은 당신이 여기이 대신 자바 스크립트의 http://modernizr.com/docs/#input

0

사용을 참조하십시오 탐지를 위해, Modernizr을 사용하여 직접 테스트를 작성하는 대신 이러한 종류의 테스트를 수행하십시오. 그것은 많은 코너 케이스를 설명하고 당신에게 많은 두통을 저장합니다.

관련 문제