下面是显示删除邮件的代码,但是它显示在每一行中,这是不正确的,它应该打开; y显示在文件被删除的行中:
var counter = 0;
function stopImageUpload(success, imagefilename){
var result = '';
counter++;
if (success == 1){
result = '<span class="imagemsg'+counter+'">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').eq(window.lastUploadImageIndex).append('<div>' + htmlEncode(imagefilename) + '<button type="button" class="deletefileimage" image_file_name="' + imagefilename + '">Remove</button><br/><hr/></div>');
}
else {
result = '<span class="imageemsg">There was an error during file upload!</span><br/><br/>';
}
$(".deletefileimage").on("click", function(event) {
var image_file_name = $(this).attr('image_file_name');
jQuery.ajax("deleteimage.php?imagefilename=" + image_file_name)
.done(function(data) {
$(".imagemsg" + counter).html(data);
});
$(this).parent().remove();
});
return true;
}
结果变量在imageupload.php中调用:
CALLBACK:
<script language="javascript" type="text/javascript">window.top.stopImageUpload(<?php echo $result ? 'true' : 'false'; ?>, '<?php echo $_FILES['fileImage']['name'] ?>');</script>
以下是应用程序here的链接。
请执行此操作,单击“添加”按钮两次,在两行中使用文件输入来上传图像。在这两行中,它将声明文件上传成功,并且它将在各自行的底部显示两个文件的名称。现在通过单击删除按钮删除文件,您将看到两行中都显示消息(文件已删除),它只应显示在文件被删除的行中
答案 0 :(得分:2)
因为你在函数内部初始化计数器,它将是一个局部变量,因此每次都是零值。你需要在函数之外初始化它。