2012-10-28 2 views
0

JQuery를 처음 사용합니다. 파일 업로드에 JQuery 양식 플러그인을 사용해야하지만 파일을 선택하자마자 양식을 제출하고 싶습니다 (onchange 이벤트). 하여 입력 태그의 : myfile을, 아래 그림과 같이), JQuery 플러그인 양식 - onchange 이벤트를 사용하여 양식을 제출하는 방법

<html> 
<body> 
    <form encType="multipart/form-data" method="post" action="file-echo.php" encoding="multipart/form-data" id='fileUploadForm'> 
     **<input name="myfile" type="file">** 
     <input value="Upload File to Server" type="submit"> 
    </form> 

    <div class="progress"> 
     <div style="width: 0%;" class="bar"></div> 
     <div class="percent">0%</div> 
    </div> 

    <div id="status"><br></div> 
</body> 
</html> 

나는 플러그인 웹 사이트에서 다음 샘플 JS 코드를 복사하지만 양식 파일을 선택시 제출 있도록 적응하고 싶습니다. 제발 포인터주세요. 미리 감사드립니다. 그것은 (파일 업로드 객체가 보안 문제로 인해 변덕 때문에) 모두에서 작동하며 원래의 질문에 명시된대로 양식을 제출하는 것을 의미하는 경우

$(document).ready(function(){ 
     $('#myfile').change(function(){ 

     // alert(""); 
     $('#fileUploadForm').ajaxForm({ 
      beforeSubmit: ShowRequest, 
      success: SubmitSuccesful, 
      error: AjaxError        
      }); 

     }); 

     function ShowRequest(formData, jqForm, options) { 
      var queryString = $.param(formData); 
      alert('BeforeSend method: \n\nAbout to submit: \n\n' + queryString); 
      return true; 
     } 

     function AjaxError() { 
      alert("An AJAX error occured."); 
     } 

     function SubmitSuccesful(responseText, statusText) {   
      alert("SuccesMethod:\n\n" + responseText); 
     }  

답변

3

- 다음이 일할 수 :

$(document).ready(function(){ 
    $('#myfile').change(function(){ 
     $('#fileUploadForm').submit(); 
    }); 
}); 
실제로 나는 onchange를 방법에 비트에 날에 의해 수정 된 것을 언급하는 것을 잊었다 -과 : 당신은 아약스에 데이터를 원하는 경우

후 응답 mplungjan에 대한

$(document).ready(function(){ 
    $('#myfile').change(function(){ 

    // alert(""); 
     $('#fileUploadForm').ajaxForm({ 
     beforeSubmit: ShowRequest, 
     success: SubmitSuccesful, 
     error: AjaxError        
     }); 

    }); 
}); // close the .ready 
+0

덕분에 실종 된 것으로는 보이지 일부 괄호를 추가하십시오 티 모자는 당신이 아마 파악한 것처럼 작동하지 않습니다. 귀하가 제공 한 코드를 수정했으며 양식이 실제로 제출되었습니다. 그러나 이것은 더 이상 플러그인 제출 기능을 사용하지 않습니다? 내가 multipart/form-data .....를 다루기 때문에 이것을 사용해야하는 이유는 예제에서 사용한대로 beforeSubmit과 콜백 기능을 사용하고 싶습니다. – stack

+0

아, 그럼 바꿔주세요. Ajax로 파일 업로드하기 "라는 단어는"양식 제출 "입니다. – mplungjan

관련 문제