0

私はJQueryを初めて使用します-ファイルのアップロードにはJQueryフォームプラグインを使用する必要がありますが、ファイルが選択されたらすぐにフォームを送信したいと思います(以下に示すように、入力タグ:myfileの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コードをプラグインのWebサイトからコピーしましたが、ファイルを選択するとフォームが送信されるように調整したいと思います。ポインタはありますか?前もって感謝します。

 $(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);
        }    
4

1 に答える 1

3

それがまったく機能する場合(セキュリティ上の懸念からファイルアップロードオブジェクトが気まぐれであるため)、元の質問に記載されているようにフォームを送信することを意味する場合、これは機能する可能性があります:

 $(document).ready(function(){
     $('#myfile').change(function(){
       $('#fileUploadForm').submit();
     });
 });

データをAjaxする場合は、欠落していると思われる角かっこをいくつか追加してみてください

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

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

   });
}); // close the .ready
于 2012-10-28T19:05:56.730 に答える