2009-04-27 9 views
8

Dlaczego po ustawieniu opcji enabled = false na przycisku nie jest on poprawnie wyświetlany w przeglądarce Firefox? Zamiast wyszarzania łącza jest nadal niebieski.Dlaczego przyciski link nie są wyszarzone po wyłączeniu w FireFox?

[UPDATE]

ASP.net już usuwa takie znaczniki na link więc jedyną rzeczą, która potrzebna jest do szarej się, że odnośnik. Innymi słowy styl CSS nie zmienia się pod względem funkcjonalności.

Poniższe czynności skutecznie rozwiązały wyłączone przyciski nieaktywne w Firefox i google chrome. Umieściłem to w moim arkuszu stylów i teraz wszystkie moje przyciski linków renderują się poprawnie.

a [wyłączone] {
kolor: Szary! tekst dekoracji: brak! Ważne; }

Odpowiedz

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

pracował dla mnie, dziękuję ...

2

Od W3Scholl, właściwość "Włączona" nie jest standardową własnością XHTML 4 (jest to standard Microsoft). Należy usunąć właściwość href z hiperłącza lub używając mojego następujący kod

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

myślę, że są mylące własność kontrolą serwera z tym, co faktycznie świadczonych ... Dla Firefox, 'enabled = "false"' 'renderuje jako disabled = "disabled"'. –

0

Poniższa rozwiązanie jest dla przycisków nie odwołują, ale można to zrobić za linkiem także.

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

Pokaże przycisk jako wyłączony lub wyszarzony.

1

W języku C# odkryłem, że rozszerzenie jest najbardziej przydatne w tworzeniu rozwiązania opartego na różnych przeglądarkach.

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"); 
    } 
} 
+1

Do tych, którzy zgłaszają ... WYJAŚNIENIE DLACZEGO! Niezależnie od tego, czy jest to dla ciebie uzasadnione, wyjaśnij inicjatorowi i innym czytelnikom, dlaczego cofnąłeś głos. – tjmoore

2

Po wyłączeniu przycisku dodaje do przycisku klasę "aspNetDisabled". więc możesz łatwo ustawić klasę "aspNetDisabled" w dowolny sposób.

.aspNetDisabled { 
     color: black; 
     background-color: #e3e3e3; 
     text-decoration: none; 
    } 
Powiązane problemy