我有这个代码,我正在努力,我试图追加而不是覆盖#preview div.我正在为jquery使用JqueryForm插件.
$(document).ready(function() {
$('#photoimg').on('change', function() {
$("#preview").html('<img src="load.gif" alt="Uploading"/>');
$("#imageform").ajaxForm({
target: '#preview'
}).submit();
});
});
Run Code Online (Sandbox Code Playgroud)
我不确定如何才能实现这一目标.
稍后编辑:我有这样的形式:
<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>
Run Code Online (Sandbox Code Playgroud)
当我浏览并选择一个图像时,ajaximage.php会验证并上传图像,如果成功,它将回显#preview div中显示的消息.问题是,即使我使用append,它也会覆盖div.
你接近了:
$("#preview").append('<img src="load.gif" alt="Uploading"/>');
Run Code Online (Sandbox Code Playgroud)
这是文档.
编辑:根据您更新的问题,您可能需要动态创建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();
});
});
Run Code Online (Sandbox Code Playgroud)