0

私が取り組んでいるこのコードがあり、#preview div を上書きする代わりに追加しようとしています。私はjquery用のJqueryFormプラグインを使用しています。

 $(document).ready(function() { 
    $('#photoimg').on('change', function() { 
        $("#preview").html('<img src="load.gif" alt="Uploading"/>');
        $("#imageform").ajaxForm({
        target: '#preview'
    }).submit();

        });
    });

どうすればそれを達成できるかよくわかりません。

後で編集:私はこのフォームを持っています:

<form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
Upload your image <input type="file" name="photoimg" id="photoimg" />
</form>
<div id='preview'>
</div>

画像を参照して選択すると、ajaximage.php が画像を検証してアップロードし、成功した場合は #preview div に表示されるメッセージをエコーし​​ます。問題は、append を使用しても div を上書きすることです。

4

2 に答える 2

5

あなたは近いです:

$("#preview").append('<img src="load.gif" alt="Uploading"/>');

これがドキュメントです。


編集:更新された質問に基づいて、ajaxFormプラグインが使用するターゲットを動的に作成する必要があるようです。次に例を示します。

$(document).ready(function() { 
    $('#photoimg').on('change', function() { 
        $("#preview").html('<img src="load.gif" alt="Uploading"/>');
        // create a dynamic target that we'll add to #preview
        var $target = $('<div />').appendTo('#preview');
        $target.attr('id', 'preview-target-' + Math.ceil(Math.random()*999999));
        $("#imageform").ajaxForm({
            // use the new target element's id for the ajaxForm target
            target: '#' + $target.attr('id')
        }).submit();
    });
});
于 2013-04-03T23:14:40.930 に答える
1

jmarは正しいです。

将来の参考のために、ここに記入例のコマンドがあります。

$('#idoftarget').append('<div>new stuff</div>');

于 2013-04-03T23:17:41.563 に答える