以下は、ファイルが独自のテーブル行でアップロードを終了した後に何が起こるかを制御する関数です。各テーブル行は、ユーザーがファイルをアップロードできるファイル入力で構成され、ファイルの名前が独自のテーブル行に追加されます。
アップロードが成功した場合は成功メッセージが表示され、アップロードが失敗した場合はエラーがあることを示すメッセージが表示されます。しかし、ユーザーが「削除」ボタンをクリックしてファイルを削除できる関数内に別の関数もあります。私が持っている唯一の問題は、次のコード行にあります。
$(".imagemsg" + counter).html(data);
2 つのテーブル行があり、最初の行でファイルを削除するとします。.imagemsg 内のメッセージは最初の行にのみ表示されます。これは削除が発生した行であり、メッセージは表示されません。 1列目と2列目。
もう 1 つの例は、4 つのテーブル行があり、3 行目のファイルを削除した場合、削除が発生した場所であるため、3 行目にメッセージが表示されるはずです。
$(".imagemsg" + counter).html(data);
だから私の質問は、メッセージがファイルの削除が発生した行内にのみ表示され、すべての行にあるすべての行に表示されないよう.imagemsg
にするには、何を追加する必要があるかということ です。
以下は完全なコードです。
function stopImageUpload(success, imagefilename){
var result = '';
var counter = 0;
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;
}
以下はHTMLコードです:
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" +
"Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
"</p><p class='listImage' align='left'></p>" +
"<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>");