2014-09-17 1 views
0

사용 플러그인 참조 : - [http://code.tutsplus.com/tutorials/how-to-upload-files-with-codeigniter-and-ajax--net-21684][1]파일 입력 jquery 변경 이벤트가 한 번만 발생합니다.

안녕하세요. jquery ajax를 사용하여 3 개의 이미지 업로드 프로그램을 수정하려고합니다. 그 이유 중 일부는 요구 사항에 따라 변경합니다. - 1) id에서 class로 (#부터.)까지 모든 CSS 스타일을 변환합니다. 2) json의 dataType을 으로 바꿉니다. 3) pic 업로드 이벤트를 다음에서 변경하십시오. 모든 것이,보기에서 이미지 업로드 및 디스플레이도 이제 성공적으로

을 잘 수행 작동합니다

입력 변경 이벤트를 파일로 제출 내 문제 파일 입력 변경 이벤트가 발생을 만 번 뭐죠 내 코드 의 문제 이 문제를 도와주세요.

보기 : -

<div class="photobox fL"> 
     <div class="container" title="Choose File"> 
      <div class="doit"> 
       <img src="&lt;?php echo base_url();?&gt;images/thumb-5.jpg" id="img1" alt="Upload Photo" width="220px" height="300px;"/> 
      </div>  
      <input id="file1" class="hid" name="file1" type="file" size="1/"> 
     </div> 
</div> 

site.js : - (외부)

$(function() { 
     $('#file1').change(function(e) { 
     e.preventDefault(); 
     $.ajaxFileUpload({ 
      url :'./upload_image/upload_file/', 
      secureuri :false, 
      fileElementId :'file1', 
      dataType :'string', 
      success : function (path) //EXECUTES SUCCESSFULLY 
      { 
       var base_url=loadName(); 
       var img1 = document.getElementById("img1"); 
       img1.src = base_url+path; //CHANGE IMG SRC WITH NEW UPLOADED IMAGE SUCCESSFULLY 
      } 
     }); 
     return false; 
    }); 
}); 

내 컨트롤러도 잘 작동합니다. 문제는 파일 입력 변경 이벤트가 한 번 발생한다는 것입니다. 및 제출 문의 이벤트를 참조 정보로 업로드하지 않으므로 양식 태그를 사용하지 않습니다. 하지만 여전히 내 이미지 업로드는 다음 번 변경 이벤트가 발생하지 않기 때문에 한 번에 잘 작동합니다.

남자들은이 문제에서 나를 도와주세요.

+0

시도 , '# file1', function (e) {}); 직접 out $ (function() {}); .on 또는 .bind 메서드를 사용할 수도 있습니다. –

+0

성공적으로 업로드를 완료 한 후에 파일 입력 요소를 재설정하십시오. – VPK

+0

감사합니다 @ 록키 당신이 내 문제를 해결했습니다 나는 당신의 대답을 수락하고 싶습니다만 답을 답장으로 받아들이는 옵션을 찾을 수 없습니다 –

답변

0

당신은 동적으로 생성 된 요소를 그것을 시도해야합니다
을 모두 이벤트가 작품 CSTE 연구진 또는 예를 들어 .bind 있습니다 : $ (문서) CSTE 연구진 ('변화'를 사용하는

$(document).on('change','#file1',function(e) 
{ 
       e.preventDefault(); 
       $.ajaxFileUpload({ 
        url :'./upload_image/upload_file/', 
        secureuri :false, 
        fileElementId :'file1', 
        dataType :'string', 
        success : function (path) //EXECUTES SUCCESSFULLY 
        { 
         var base_url=loadName(); 
         var img1 = document.getElementById("img1"); 
         img1.src = base_url+path; //CHANGE IMG SRC WITH NEW UPLOADED IMAGE SUCCESSFULLY 
        } 
       }); 
       return false; 
}); 
관련 문제