2012-11-16 21 views
0

jQuery的表單提交預防使用e.preventDefault()是不工作在多部分表單提交(即時通訊使用Ajax提交時)。有什麼辦法解決它?jQuery的多部分表單提交預防

代碼

$('.imgChange').submit(function(e){ 
    load('do_upload.php',$(this).serialize()); 
    e.preventDefault(); 
}); 
+5

張貼一些代碼,請。 – legendofawesomeness

+0

適合我http://jsfiddle.net/wM7rT/ –

+0

[jQuery的可能重複 - 如何從窗體提交\'\'\ multipart \ form-data \'並獲得您的函數調用?]( http://stackoverflow.com/questions/7924157/jquery-how-to-submit-a-post-multipart-form-data-from-a-form-and-get-your-f) – Fardin

回答

0

正常使用jQuery庫是不使用AJAX可以發送多形式。 還有很多其他的插件。

我建議jQuery Form Plugin

它是非常容易使用。只有你所要做的就是導入該插件的jQuery

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script> 
<script src="http://malsup.github.com/jquery.form.js"></script> 

然後用

$(document).ready(function() { 
     // bind 'myForm' and provide a simple callback function 
     $('#myForm').ajaxForm(function() { 
      alert("Thank you for your comment!"); 
     }); 
    }); 
1

這應該多形式的合作也

HTML

<form id="form-id" action="/UploadFile" enctype="multipart/form-data" method="post"> 
    <input type="submit" value="Submit" /> 
</form> 

jQuery的

$('#form-id').submit(function(e){ 
    e.preventDefault(); 
    alert('submit prevented'); 
    // rest of the code here 
}); 

只要你沒有別的壓倒一切這就像一個onsubmit,沒有理由爲.preventDefault()不上多形式

在這裏工作是一個jsbin