ユーザーが[キャンセル]ボタンをクリックしたときにファイルのアップロードを停止しようとしています。これを行うために、iframe内のトランスポートを停止することを考えています。問題はこれを正しくコーディングできることです。以下は私が達成しようとしていることのコードですが、「キャンセル」ボタンをクリックするとこのエラーが発生します:
Uncaught exception: [Exception.... “Not enough arguments [nslDOMHTML.Document.execCommand]” nresult: “0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)” location: “JS frame;; https://......../QandATable.php = <TOP_LEVEL> ;; line 765” data: no]
まず、このエラーを修正するにはどうすればよいですか。次に、[キャンセル]ボタンをクリックすると、iframe内の転送が停止するように、以下のコードを正しく記述できますか?
以下は、ファイルのアップロードを開始するstartImageUpload()関数です。その機能の中には、クリックされたときに「キャンセル」ボタンを処理する機能があります。
function startImageUpload(imageuploadform){
$(".imageCancel").click(function() {
$('.upload_target')[0].contentwindow
if ($('.upload_target')[0].contentWindow.document.execCommand)
{ // IE browsers
$('.upload_target')[0].contentWindow.document.execCommand('Stop');
}
else
{ // other browsers
$('.upload_target')[0].contentWindow.stop();
}
return stopImageUpload();
});
return true;
}
以下は、iframeで構成されるフォームコードです。
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return startImageUpload(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='imagef1_cancel' align='center'><label>" +
"<input type='button' name='imageCancel' class='imageCancel' value='Cancel' /></label></p>" +
"<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>");