375 Stimmen

Deaktivieren und Aktivieren einer html-Eingabetaste

Ich habe also eine Schaltfläche wie diese:

<input id="Button" type="button" value="+" style="background-color:grey" onclick="Me();"/>

Wie kann ich sie deaktivieren und aktivieren, wenn ich will? Ich habe versucht disabled="disable" aber es ist ein Problem, sie wieder zu aktivieren. Ich habe versucht, sie auf false zurückzusetzen, aber das hat sie nicht aktiviert.

682voto

palaѕн Punkte 69086

Verwendung von Javascript

  • Deaktivieren einer html-Schaltfläche

    document.getElementById("Button").disabled = true;
  • Aktivieren einer html-Schaltfläche

    document.getElementById("Button").disabled = false;
  • Demo hier


Verwendung von jQuery

Alle Versionen von jQuery vor 1.6

  • Deaktivieren einer html-Schaltfläche

    $('#Button').attr('disabled','disabled');
  • Aktivieren einer html-Schaltfläche

    $('#Button').removeAttr('disabled');
  • Demo hier

Alle Versionen von jQuery nach 1.6

  • Deaktivieren einer html-Schaltfläche

    $('#Button').prop('disabled', true);
  • Aktivieren einer html-Schaltfläche

    $('#Button').prop('disabled', false);
  • Demo hier

P.S. Ich habe den Code auf der Grundlage von jquery 1.6.1 Änderungen . Als Vorschlag, verwenden Sie immer die neuesten Jquery-Dateien und die prop() Methode.

34voto

Ian Punkte 48439

Da Sie sie von vornherein deaktivieren, können Sie sie aktivieren, indem Sie ihre disabled Eigenschaft als false .

Zum Ändern seiner disabled Eigenschaft in Javascript, verwenden Sie dies:

var btn = document.getElementById("Button");
btn.disabled = false;

Und um sie wieder zu deaktivieren, müssen Sie natürlich true stattdessen.

Da Sie die Frage auch mit jQuery getaggt haben, könnten Sie die .prop Methode. Etwa so:

var btn = $("#Button");
btn.prop("disabled", true);   // Or `false`

Dies ist in den neueren Versionen von jQuery. Der ältere Weg, dies zu tun ist, um ein Attribut hinzufügen oder zu entfernen, wie so:

var btn = $("#Button");
btn.attr("disabled", "disabled");
// or
btn.removeAttr("disabled");

Die bloße Anwesenheit des disabled Eigenschaft deaktiviert das Element, so dass Sie seinen Wert nicht auf "false" setzen können. Auch das folgende sollte das Element deaktivieren

<input type="button" value="Submit" disabled="" />

Sie müssen das Attribut entweder vollständig entfernen または seine Eigenschaft einstellen.

23voto

Jon Punkte 3032

Sie können dies ganz einfach mit Vanilla JavaScript tun, ohne dass Bibliotheken erforderlich sind.

Aktivieren einer Schaltfläche

document.getElementById("Button").disabled=false;

Deaktivieren einer Schaltfläche

 document.getElementById("Button").disabled=true;

Keine externen Bibliotheken erforderlich.

5voto

Das Attribut "disable" hat nur einen Parameter. Wenn Sie es wieder aktivieren wollen, müssen Sie das Ganze entfernen, nicht nur den Wert ändern.

5voto

Kh An Punkte 480

Mit jQuery können Sie in einer einzigen Zeile

//Enable
$('#Button').prop('disabled', false)

//Disable
$('#Button').prop('disabled', true)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X