Question

Why when I set enabled=false on a button does it not render correctly in Firefox? Instead of graying out the link it is still blue.

[UPDATE]

ASP.net already removes such tags on the link so the only thing that is needed is to grey out he link. In other words a CSS style change not a functionality change.

The following effectively resolved the disabled buttons not showing up as grayed out in firefox and google chrome. I put this into my style sheet and now all my link buttons render correctly.

a[disabled]{
color:Grey !important; text-decoration:none !important; }

Was it helpful?

Solution

a[disabled]
{
   color:Grey; text-decoration:none;
}

worked for me, Thank you...

OTHER TIPS

From W3Scholl, "Enabled" Property isn't standard property of XHTML 4(It's Microsoft standard.). You should remove href property from hyperlink or using my following code

// cancel click event.
LinkButton1.Attributes["OnClick"] = "return false;";
// set css to display same disabled link in all browser
LinkButton1.CssClass = "LinkButton_Disabled";

When you disable a button it adds "aspNetDisabled" class to the button. so you can easily set the "aspNetDisabled" class with whatever you want.

 .aspNetDisabled {
        color: black;
        background-color: #e3e3e3;
        text-decoration: none;
    }

In C#, I found that an extension is the most helpful to create a cross-browser solution.

public static class Extensions
{
    public static void Disable(this HtmlAnchor obj)
    {
        obj.Attributes.Remove("href");
        obj.Attributes.Add("disabled", "true");
        obj.Style.Add("color", "gray");
    }
}

The solution below is for buttons not link but it can be done for link as well.

var obj = document.getElementById('buttonId'');
getLabel = function(elem){
if (elem.id && elem.id=="label") {
elem.id = "disabledLabel";
}
};            
Dom.getElementsBy(getLabel ,'td', obj);

This will show button as disable or grayed out.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top