Php 删除iframe会阻止文件上载吗?

Php 删除iframe会阻止文件上载吗?,php,javascript,jquery,Php,Javascript,Jquery,我一直在想,当用户点击“取消”按钮时,如何取消上传到服务器的文件。实现这一点的最常用方法似乎是在用户单击“取消”按钮时删除iframe 我只是想知道,当用户点击“取消”按钮时,这是否是阻止文件上传到服务器的好方法?如果用户确实单击了“取消”按钮,那么我仍然希望用户能够稍后上传另一个文件,如果他们愿意的话,因此我希望在删除iframe时,它不会是永久性的 如果这是最好的方法,那么当单击“取消”按钮时,是否有人知道如何删除iframe 下面是开始上传的代码,以及“取消”按钮功能存储在其中的代码 fu

我一直在想,当用户点击“取消”按钮时,如何取消上传到服务器的文件。实现这一点的最常用方法似乎是在用户单击“取消”按钮时删除iframe

我只是想知道,当用户点击“取消”按钮时,这是否是阻止文件上传到服务器的好方法?如果用户确实单击了“取消”按钮,那么我仍然希望用户能够稍后上传另一个文件,如果他们愿意的话,因此我希望在删除iframe时,它不会是永久性的

如果这是最好的方法,那么当单击“取消”按钮时,是否有人知道如何删除iframe

下面是开始上传的代码,以及“取消”按钮功能存储在其中的代码

function startImageUpload(imageuploadform){

  $(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
  $(imageuploadform).find('.imagef1_cancel').css('visibility','visible');
  $(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
  sourceImageForm = imageuploadform;


              $(".imageCancel").click(function() {
              $('.upload_target').get(0).contentwindow
          return stopImageUpload();
    });

      return true;
}
以下是文件停止上载时的代码:

function stopImageUpload(success, imagefilename){

      $(sourceImageForm).find('.imagef1_upload_process').css('visibility','hidden');
      $(sourceImageForm).find('.imagef1_cancel').css('visibility','hidden');
      $(sourceImageForm).find('.imagef1_upload_form').html(result + '<label>Image File: <input name="fileImage" class="fileImage" type="file"/></label><br/><br/><label><input type="submit" name="submitImageBtn" class="sbtnimage" value="Upload" /></label><label>');
      $(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible');


      return true;   
}
函数stopImageUpload(成功,imagefilename){
$(sourceImageForm).find('.imagef1_upload_process').css('visibility','hidden');
$(sourceImageForm).find('.imagef1_cancel').css('visibility','hidden');
$(sourceImageForm).find('.imagef1_upload_form').html(结果+'图像文件:

); $(sourceImageForm).find('.imagef1_upload_form').css('visibility','visible'); 返回true; }
表格代码如下:

     var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return startImageUpload(this);' class='imageuploadform' >" + 
//Above is form tag
        "<p class='imagef1_upload_process' align='center'>Loading...<br/><img src='Images/loader.gif' /><br/></p><p class='imagef1_upload_form' align='center'><br/><label>" + 
//Above is where it displays loading bar while file is uploading
        "Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><br/><label class='imagelbl'>" + 
//Above is File Input
        "<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" + 
//Above is Upload Button
        "</p><p class='imagef1_cancel' align='center'><label>" + 
        "<input type='button' name='imageCancel' class='imageCancel' value='Cancel' /></label>" + 
//Above is Cancel Button
        "<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>"); 
//Above is the iframe which does the transporting   
var$fileImage=$(“”+
//上面是表单标签
“

加载…


” //上面是文件上载时显示加载栏的位置 “图像文件:

”+ //上面是文件输入 "" + //上面是上传按钮 “

”+ "" + //上面是取消按钮 ""); //上面是进行传输的iframe

如果您有按钮

HTML

取消
还有一个JavaScript

$("#cancel").click(function() {
    $("iframe[name='upload_target']").attr("src", "javascript:'<html></html>'");
    $("iframe[name='upload_target']").remove(); // not needed I think, but anyway it is good to keep the DOM clean
});
$(“#取消”)。单击(函数(){
$(“iframe[name='upload_target']”)attr(“src”,“javascript:”);
$(($iframe[name='upload_target'])。remove();//我认为不需要,但无论如何,保持DOM干净是件好事
});

用户点击该按钮,iframe的
src
属性被重置为一个不会创建混合内容警告的变量

类似问题:,重置iframe的src,然后删除它,trickI可以看到,在您提供给我的链接中,他使用了以下代码:
iframe.src=“javascript:”
。因此,真正的问题是如何实现这段代码,以便在单击“Cancel”按钮时,重置src并删除iframe。(转到转发到新上传表单的虚拟页面。)太棒了。回答得很好。这是非常有效的。这个答案将帮助将来想知道如何取消文件上传的人。谢谢:)
$("#cancel").click(function() {
    $("iframe[name='upload_target']").attr("src", "javascript:'<html></html>'");
    $("iframe[name='upload_target']").remove(); // not needed I think, but anyway it is good to keep the DOM clean
});