フォーム内にファイル入力を含むフォームがあり、さらに重要なことに、ファイルのアップロードをキャンセルするキャンセル ボタンがあります。
var $fileImage = $("<form action='imageupload.php' method='post' class='imageuploadform' ...><label>" +
"Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
"</p><p class='imagef1_cancel' align='center'><label>" +
"<input type='button' name='cancelImageBtn' class='cancelimage' value='Cancel' /></label>" +
"</p></form>");
これで、サーバーへのファイルのアップロードなどすべてが完了しました。しかし、私には1つの問題があります。
私が抱えている問題は、キャンセルしてアップロードする方法がわからないことです。ユーザーが「キャンセル」ボタンをクリックしても、現時点では何も起こりません。私が望んでいるのは、ユーザーが「キャンセル」ボタンをクリックすると、「stopImageUpload()」関数に移動し、ファイルのアップロードを停止することです。しかし、どうすればこれを行うことができますか?
以下はキャンセルボタン機能を作成しようとする試みですが、「キャンセル」ボタンをクリックしても何も起こりません。
$(".cancelimage").on("click", function(event) {
console.log("clicked");
event.preventDefault();
stopImageUpload(success);
});
以下は、キャンセル ボタン機能が配置されている場所と、ファイルのアップロードを開始および停止する機能を示す完全なコードです。
function startImageUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
sourceImageForm = imageuploadform;
$(".cancelimage").on("click", function(event) {
console.log("clicked");
event.preventDefault();
stopImageUpload(success);
});
return true;
}
function stopImageUpload(success){
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
$(sourceImageForm).find('.imagef1_upload_process').css('visibility','hidden');
$(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible');
return true;
}