2012-07-26 3 views
1

내가 읽고있는 것으로부터 꽤 솔직 해 보이기 때문에이 글을 조금 바보스럽게 느낀다.하지만 나는 왜 files.length의 값으로 항상 1을보고 있는지 모르겠다.HTML5로 여러 파일 처리하기

<html> 
<head> 
<script src="http://code.jquery.com/jquery-1.7.2.js" type="text/javascript"></script> 
<script> 
    $(document).ready(function() { 
     var button = $('#button'); 
     button.click(function(){  
      var files = $('#files'); 
      alert(files.length); 
     }); 
    }); 
</script> 
</head> 
<body> 
    <form> 
    <input type="file" id="files" multiple="" /> 
    <input type="button" id="button" value="Upload" /> 
    </form> 
</body> 
</html>   

답변

1

변경 경고 라인 :

alert(files[0].files.length); 

무엇을 당신이하려고하는 파일이 FileList 개체입니다 입력 DOM 요소의 특성을 얻을 수 있기 때문에이 작동합니다. 그런 다음 얼마나 많은 객체가 선택되었는지 알려주는 FileList 중 length attribute을 원합니다. jQuery를 사용하여 입력 요소를 먼저 선택했지만 $ ("# files")와 같은 jQuery 선택의 결과는 jQuery 컬렉션이므로 input 요소에 대한 기본 DOM 객체는 파일 특성 만 있기 때문에 필요합니다. 모든 jQuery 객체는 Array로 가장하여 기본 배열 역 참조를 사용하여 기본 DOM 요소를 가져올 수 있습니다. (참조 : http://api.jquery.com/get/)를 설명하기위한

멋진

Try It!

+0

, 감사합니다! – user1281426