2012-10-28 44 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(); 
    }); 
}); 

如果你想阿賈克斯的數據,然後嘗試加入一些括號,你似乎已經失蹤

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

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

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

感謝您的答覆mplungjan:其實我忘了提,在平變化法的位被我修改 - 和Ť帽子不工作,因爲你可能弄清楚了。我將代碼修改爲您提供的內容並確實提交了表單。但是,這不再使用插件提交功能了嗎?爲什麼我需要使用的原因是因爲它需要照顧的multipart/form-data的的.....我也想用beforeSubmit,並作爲本例中使用回調功能.. – stack

+0

啊,那麼請修改改爲「提交表​​單」到「上傳與阿賈克斯的文件」,因爲這是你想要的 – mplungjan

相關問題