0

複数ページのフォームの途中で、ユーザーが画像をアップロードできるセクションがあり、その画像は ajax を使用してすぐにプレビューできます。ただし、ユーザーが画像をアップロードすると、実際のフォーム自体も送信しようとし、ajax の競合があると思います。これは、ajax 画像のアップロードに使用しているコードです。

$(document).ready(function() { 
    $('#logo').live('change', function()            { 
        $("#prlogo").html('');
        $("#prlogo").html('<img src="../preview/loader.gif" alt="Uploading...."/>');
        $("#logoform").ajaxForm({
            target: '#prlogo'
        }).submit();
    });
}); 

そして、これはフォームです:

<form id="logoform" method="post" enctype="multipart/form-data" action='../preview/logo.php'>
    <input type="file" name="logo" id="logo" />
</form>

その .submit() を id logoform のフォームにリンクすることは可能ですか? フォームではなく、画像のアップロードに対してのみ送信を制限できる他の方法はありますか?

4

1 に答える 1

0

フォームの送信機能をオーバーライドしてみることができるので、submit を呼び出す前に、以下のように設定する必要があります。

$('form').submit(function () {
    $.ajax({
        url: this.action, type: this.method,
        data: $(this).serialize(), cache: false,
        success: function () {
            //Do upload of Image
           }
        }

        //Or upload image here
    });
于 2012-04-04T11:04:11.023 に答える