使用javascript启用和禁用

使用javascript启用和禁用,javascript,asp.net,Javascript,Asp.net,我在页面中有按钮和文件上载控件,我想根据文件上载控件的值启用或禁用按钮。如果文件上载未选择文件,则按钮仍将禁用 代码工作正常,但是如果您选择“文件”,然后选择“可启用”按钮(正确行为),然后单击“文件上载控制”,但这次您希望单击“取消”,但该按钮未禁用 function enableButton() { var a = document.getElementById("<%=file_upload.ClientID%>") if (a == 0) {

我在页面中有按钮和文件上载控件,我想根据文件上载控件的值启用或禁用按钮。如果文件上载未选择文件,则按钮仍将禁用

代码工作正常,但是如果您选择“文件”,然后选择“可启用”按钮(正确行为),然后单击“文件上载控制”,但这次您希望单击“取消”,但该按钮未禁用

function enableButton() {
        var a = document.getElementById("<%=file_upload.ClientID%>")
        if (a == 0) {
            document.getElementById("<%=btnAdd.ClientID%>").disabled = true;
        }
        else {
            document.getElementById("<%=btnAdd.ClientID%>").disabled = false;
        }

   }


<asp:FileUpload ID="file_upload" runat="server" AllowMultiple="true" maxLength="10" accept="text/plain" Enabled="false" CssClass="cssFileUpload" onchange="enableButton()"/>

  <asp:Button ID="btnAdd" runat="server" Text="Add Files" onclick="btnAdd_Click" Enabled="false" />
功能启用按钮(){
var a=document.getElementById(“”)
如果(a==0){
document.getElementById(“”).disabled=true;
}
否则{
document.getElementById(“”).disabled=false;
}
}

问题似乎在于您正在检查控件本身,因此
a==0
。如果您检查了属性(如“值加法”)

if(a == null || a.value == "")

如果找不到任何元素,document.getElementById将返回null。 使用

if( a == null) {}