0

jqueryフォーム送信防止を使用するe.preventDefault()と、マルチパートフォーム送信で機能しません(送信にajaxを使用している場合)。それを解決する方法はありますか?

コード

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

2 に答える 2

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があります

于 2012-11-16T08:53:44.503 に答える
0

通常のjQueryライブラリを使用すると、ajaxを使用してマルチパートフォームを送信することはできません。そのための他の多くのプラグインがあります。

jQueryフォームプラグインをお勧めします

とても使いやすいです。あなたがしなければならないのは、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!"); 
        }); 
    }); 
于 2012-11-16T08:55:40.203 に答える