파일첨부 제한 js 질문 드립니다
본문
이미지 첨부 소스 입니다.
<input style='width:90%; height:28px; ' type='file' class='ed' id=imgfile_"+flen+" name='bf_file[]' >
팁에서 검색하여 이미지 확장파일 제한 있어서 아래의 js 적용해 보았습니다.
아래 js 적용하니 첫번째 파일은 됩니다. 하지만 두번째 파일은 적용이 안되여서 질문 드립니다.
첫번째 이미지 첨부 파일 소스보면 input id="imgfile_0" 되여 있고
두번째 이미지 첨부 파일 소스보면 input id="imgfile_1" 되여 있습니다.
첨부파일 적용된 갯수를 전부 확장파일 제한 할려고 합니다.
이미지 첨부 소스 input id 명 id=imgfile 이렇게 적용하여도 첫번쨰 파일만 적용되고 두번째 파일은 적용이 안됩니다.
<script>
$('#imgfile_0').on("change", function(){
//확장자 비교
//http://stackoverflow.com/questions/14852090/jquery-check-for-file-extension-before-uploading
var filename = $('#imgfile_0').val();
var extension = filename.replace(/^.*\./, '');
if (extension == filename) {
extension = '';
} else {
extension = extension.toLowerCase();
}
//이미지 파일은 JPG, PNG 확장자만 가능
if( (extension != 'jpg') && (extension != 'png') ) {
//초기화
//http://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery
var control = $('#imgfile_0');
control.replaceWith( control = control.clone( true ) );
alert("이미지 파일은 JPG, PNG 확장자만 가능합니다.");
}
});
답변 1
$('#imgfile_0').on("change", function(){
부분을
$('.ed')로 바꾸시고
그 외의 change안에 있는 $('#imgfile_0')부분은 $(this)로 바꿔주시면 될것 같네요