2017-02-06 9 views
0

イメージをアップロードしますが、UploadImage.cshtmlにリダイレクトされます。だから明らかにev.preventDefaultは動作していません。私にこれらのものに触れる準備ができていない、ブルーインプまたはxhtmlのものを通過することを必要とせずに、これに対する解決策がありますか? jQueryのコード以下で解決Ajax Image Uploadで、ev.preventDefault(); not working

HTML 
<form method="post" action="UploadImage.cshtml" id="imgUploadForm" class="imgUpload" enctype="multipart/form-data"> 
        @FileUpload.GetHtml(
         initialNumberOfFiles:1, 
         allowMoreFilesToBeAdded:false, 
         includeFormTag: false, 
         uploadText:"Upload")    
        <input type="submit" name="buttonUpload2" value="Upload" /> 
       </form> 

のjQuery

$(function() { 
      $('.imgUpload').submit(function (ev) { 

       var frm = $(this); 
       Upload(frm); 
       ev.preventDefault(); 
      }); 
     }); 

     function Upload(frm) { 
      $.ajax({ 
       type: frm.attr('method'), 
       url: frm.attr('action'), 
       data: new FormData(frm), 
       success: function (data) { 
        alert('Success'); 
       }, 
       error: function() { 
        alert('Error'); 
       } 
      }); 
     } 
+0

私はev.preventDefault();メソッド本体の最初のステートメントでなければなりません。 – dpaksoni

+0

私はそれを試みた。その後、フォームはまったく提出しません。 – Npandit

答えて

0

。ありがとう

$(document).ready(function (e) { 
      $('.imgUpload').on('submit', (function (e) { 
       e.preventDefault(); 
       var formData = new FormData(this); 

       $.ajax({ 
        type: 'POST', 
        url: $(this).attr('action'), 
        data: formData, 
        cache: false, 
        contentType: false, 
        processData: false, 
        success: function (data) { 
         alert('success'); 
        }, 
        error: function (data) { 
         alert('error'); 
        } 
       }); 
      })); 
     })