| 제목 | 파일찾기(첨부) 버튼 동적 추가시 id? class? 어떻게 해야 하나요? | ||
|---|---|---|---|
| 카테고리 | CI 2, 3 | ||
| 글쓴이 | 그동안 | 작성시각 | 2019/06/20 23:12:07 | 
|  | |||
| 코드이그나이터 업로드 라이브러리와 연관성이 있을듯도 해서 이 게시판에 문의 드려요~ 파일찾기 버튼이 복수개 존재합니다.(동적 추가로 파일찾기 버튼 개수는 더 늘어날 수 있습니다) - 1개만 있을때 id="userfile"로 했음 - 현재 복수개라서 id를 사용할수 없어, class="userfile"로 변경 했더니 파일찾기 버튼을 클릭해도 반응이 없습니다. 어떻게 처리해야 할지 문의 드립니다. 
 <div class="row"> <dl class="size-full"> <dt>이미지</dt> <dd> <!--파일 미리보기 영역 --> <div class="image-add-box"> <div class="image-empty"> <p>파일찾기를 통해 이미지 다중 선택 가능</p> <p>( 개당 최대 500Kb, 실제 페이지에 가로 920px로 RESIZE 되어 보여집니다 )</p> </div> </div> <!-- 파일찾기 버튼 영역 --> <div class="file-box"> <label for="userfile" class="btn-lightgray"> 파일찾기 </label> <input type="file" multiple class="userfile" name="userfile[]" /> <!--[중요] userfile 명칭은 CI upload 라이브러리에서 정해놓은 것 임 --> </div> </dd> </dl> </div> 
 | |||
| 다음글 | CIBOARD 설치.. (1) | ||
| 이전글 | CI 개발환경 구축방법(Git, Local, Dev서버... (2) | ||
| 
                                한대승(불의회상)
                                /
                                2019/06/21 09:17:03 /
                                추천
                                0
                             
                                클래스 셀렉터를 '#userfile'로 지정하진 않았나요?
                             | 
| 
                                그동안
                                /
                                2019/06/21 09:57:43 /
                                추천
                                0
                             
                                대승님;; 클래스 셀렉터가 뭔가요?;;
                             | 
| 
                                한대승(불의회상)
                                /
                                2019/06/21 10:00:40 /
                                추천
                                0
                             
                                @그동안 jQuery 사용하지 않으시는지...
                             | 
| 
                                그동안
                                /
                                2019/06/21 10:13:14 /
                                추천
                                0
                             - 관련해서 제이쿼리를 사용하고 있는건 없는것 같습니다. - 업로드 라이브러리도 손댄건 없습니다 
 
<!-- 6단계 저장 시작 -->
<script src="../../js/jquery.form.min.js"></script>                     <!--아래 ajaxForm에서 사용-->
<script>
    $(document).on('click', '#add_06_insert_btn', function()            //완료 버튼 클릭 시                  
    {            
        //[2] 파일첨부로 인해 jquery.form.min.js(제이쿼리 폼 라이브러리)를 사용해서 data 전송
        $("#profile_add_06").ajaxForm(
        {
	       	url : "/my_freelancer/my_profile_add_06" ,
	       	enctype : "multipart/form-data",
	       	type : "POST" ,
	       	dataType : "json" ,
		    success : function(result)                                                            //성공 시  
		    {	
				alert("프로필 등록이 완료 되었습니다");	
				location.href="/my_freelancer/my_profile_list";                                   //목록 페이지 전환 
		    },
		    error : function(request,status,error)                                                //실패 시 
		    {
                alert(request.status + " 에러가 발행해서 6단계(마지막) 저장하지 못했습니다");
            }
        });
        $("#profile_add_06").submit() ;                                                           //전송
	});
</script> 
<!-- 6단계 저장 끝 -->
 | 
| 
                                kaido
                                /
                                2019/06/21 10:22:11 /
                                추천
                                0
                             우선 단어정리부터... $ <- 요거 붙는거 자체가 jQuery 의 축약 입니다. 즉 jQuery 를 사용중이십니다. 셀렉터 => $("#id") 해당 타겟을 지정 하는것을 셀렉터라고 부릅니다. 아이디 인경우엔 # 으로 시작 하고 클래스인 경우 . 을 넣고 시작 합니다. 
<input type="file" name="userfile" id="user_id" class= "user_class" />
//이런경우 제이쿼리 에서 해당 파일에 대한 타겟 방법 
$("#user_id") 
$(".user_class")
$("input[name=userfile]")
 
 위 3가지는 동일한 셀렉터를 의미하고 있습니다. 셀렉터 뒤에 붙는건 [이벤트] 입니다. 
$("#profile_add_06").submit() ;   
이건 해당 아이디 profile_add_06 이라는 셀렉트를 submit 이라는 이벤트를 하라 라는 의미.
 이벤트 종류는 굉장히 많으므로 메뉴얼을 찾아보셔야 합니다. 대체로는 click , submit, change 3가지가 가장 대표적으로 많이 사용됩니다. 
 덧을 붙이자면 name userfile 명은 CI에서 붙인 파일명이 아닙니다. 샘플코드가 userfile 로 받게 되어있을뿐이죠. | 
| 
                                그동안
                                /
                                2019/06/21 10:41:14 /
                                추천
                                0
                             카이도님, 대승님, 조언 감사드려요^^ 라벨을 수정하니 해결됐네요 <div class="file-box"> |