2009-04-27 19 views
8

Perché quando imposto abilitato = falso su un pulsante non viene visualizzato correttamente in Firefox? Invece di ingrigire il link è ancora blu.Perché i pulsanti di collegamento non sono disattivati ​​quando disattivati ​​in FireFox?

[UPDATE]

ASP.net rimuove già tali tag sul link così l'unica cosa che è necessario è al grigio fuori che collegamento. In altre parole, uno stile CSS cambia non una modifica di funzionalità.

Quanto segue ha effettivamente risolto i pulsanti disabilitati non visualizzati in grigio in firefox e google chrome. Inserisco questo nel mio foglio di stile e ora tutti i miei pulsanti di collegamento vengono visualizzati correttamente.

a [disabilitato] {
colore: grigio! Importante; testo-decorazione: nessuno! Importante; }

risposta

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

lavorato per me, Grazie ...

2

Da W3Scholl, la proprietà "Abilitato" non è una proprietà standard di XHTML 4 (è standard Microsoft). È necessario rimuovere proprietà href dal collegamento ipertestuale o usando il mio codice seguente

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

Penso che si confonda la proprietà del controllo server con ciò che viene effettivamente visualizzato ... Per Firefox, 'Enabled =" false "' esegue il rendering come 'disabled =" disabled "'. –

0

La soluzione qui di seguito è per i pulsanti non link, ma può essere fatto per il link anche.

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

Questo mostrerà il pulsante come disabilitato o disabilitato.

1

In C#, ho trovato che un'estensione è la più utile per creare una soluzione cross-browser.

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

Per quelli che sono a valle ... SPIEGARE PERCHÉ! Indipendentemente dal fatto che sia giustificato da te, spiega al mittente e agli altri lettori perché hai votato a bassa voce. – tjmoore

2

Quando si disattiva un pulsante, aggiunge la classe "aspNetDisabled" al pulsante. così puoi facilmente impostare la classe "aspNetDisabled" con tutto ciò che vuoi.

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