从javascript重置fileupload控件

IT *_*her 1 javascript asp.net file-upload

我有一个ASP网站页面,我添加了一个上传控件

<asp:FileUpload ID="FileUpload1" runat="server" 
                        BorderStyle="None" Width="215px" onchange="return checkfile();" style="margin-left: 14px" BackColor="#F0F0F0" />
Run Code Online (Sandbox Code Playgroud)

javascript我验证将上传的文件.如果它是类型,.exe 那么我将不允许上传和给出消息.如果不是,我将在标签" lblFileName"中显示文件名.但问题是如果错误(在文件是exe的情况下)然后我想重置上传控件(FileUpload1).现在它只显示消息,但允许表单与文件一起提交.那.exe我怎么能重置它?

 function checkfile() {

     var filename = document.getElementById("FileUpload1").value;
     var lastIndex = filename.lastIndexOf("\\");


     if (lastIndex >= 0) {
         filename = filename.substring(lastIndex + 1);
     }

    var FileExt = filename.split('.').pop();

    if (FileExt == "exe") {  

        document.getElementById('<%=lblFileName.ClientID%>').innerHTML = "you cannot attach exe file";
    return false;

     }
    else {
        document.getElementById('<%=lblFileName.ClientID%>').innerHTML = filename;
    }
  }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Jus*_*ode 5

你的代码就是问题 onchange="return checkfile();"

你的功能应该是这样的

    function checkfile() {

         var filename = document.getElementById("FileUpload1").value;
         var lastIndex = filename.lastIndexOf("\\");


         if (lastIndex >= 0) {
             filename = filename.substring(lastIndex + 1);
         }

        var FileExt = filename.split('.').pop();

        if (FileExt == "exe") {         
            document.getElementById('lblFileName').innerHTML = "you cannot attach exe file";
            document.getElementById("FileUpload1").value='';
            return false;

         }
         else {
            document.getElementById('lblFileName').innerHTML = filename;
        }
      }
Run Code Online (Sandbox Code Playgroud)

返回将禁止文件放入您的文件上传控件,这样就可以解决您的问题

请在这里查看演示