在FileUpload组件中选择文件后启用页面上的按钮

时间:2013-02-06 08:10:30

标签: javascript file-upload asp.net-4.0

我在ASP.NET 4.0页面上使用了FileUpload组件,我还有一个按钮来开始实际上传文件。

现在,如果我可以禁用Upload按钮,直到在FileUpload控件中选择了有效文件,那将是非常好的 - 但我似乎无法找到任何方法此

我不是客户端脚本大师 - 但我想知道我是否可以连接一些Javascript“voodoo”来检测已在FileUpload组件中选择了一个文件,然后启用页面上的Upload按钮。

有没有人这样做过?如果是这样的话:你究竟是怎么做到的?我很难过,看不到森林里的树木......

1 个答案:

答案 0 :(得分:3)

FileUpload有一个value属性,你可以使用......

function ValidateUpload()
{
  var fuData = document.getElementById('fuUploadControl');

  if (fuData.value == '')
  {
       return false;
  }
  else
  {
       document.getElementById('btnSubmit').style.display = "";
  }
  return true;

}

我从CustomValidator运行此函数(用于验证我的FileUpload控件)...
如果验证成功(例如,选择了一个文件),将显示该按钮(默认情况下它开始不可见)

ASPX代码:

<asp:FileUpload ID="fuUploadControl" runat="server" />
<asp:Button ID="btnSubmit" runat="server" Text="Upload" 
            OnClick="btnSubmit_Click" Style="display: none;" />
<asp:CustomValidator ID="CustomValidator1" runat="server"   
                     ControlToValidate="fuUploadControl"
                     ClientValidationFunction="ValidateUpload" />