追加而不是覆盖

时间:2013-04-03 23:13:41

标签: php jquery

我有我正在处理的代码,我正在尝试追加而不是覆盖#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中显示的消息。问题是,即使我使用追加,它也会覆盖div。

2 个答案:

答案 0 :(得分:5)

你很接近:

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

这是documentation


编辑:根据您更新的问题,您可能需要动态创建要使用的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();
    });
});

答案 1 :(得分:1)

jmar是对的。

以下是填写示例命令以供将来参考。

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