我试图在用户点击“取消”按钮时停止上传文件。为此,我想停止iframe内的传输。问题是能够正确编码。下面是我想要实现的代码但是我在这里得到了这个错误:
$('.upload_target').contentWindow is undefined
如何首先修复错误,然后如何正确编写下面的代码,以便在单击“取消”按钮时,它会停止iframe中的transpart?
下面是startImageUpload()函数,它开始上传文件。在该函数中,该函数在单击时处理“取消”按钮;
function startImageUpload(imageuploadform){
$(".imageCancel").click(function() {
$('.upload_target').get(0).contentwindow
if ($('.upload_target').contentWindow.document.execCommand)
{ // IE browsers
$('.upload_target').contentWindow.document.execCommand('Stop');
}
else
{ // other browsers
$('.upload_target').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>");
答案 0 :(得分:1)
$('.upload_target')
将返回一个包含该类所有元素的jQuery对象,因此contentWindow属性不存在
$(.upload_target:eq(0)').get()
将返回(首先但假设只有一个)元素本身,然后contentWindow应该存在
或$(.upload_target')[0]
如果您要定位单个元素,但ID会更高效