Ich muss Textbox aktivieren, wenn der Benutzer beginnt, auf es zu drucken, Ende Schaltfläche deaktivieren, wenn das Textfeld leer ist.Wie Sie die Taste deaktivieren, wenn das Textfeld leer ist?
hier ist mein Textfeld und Schaltfläche:
<button id="btnSaveLayer" class="ui-btn ui-icon-plus ui-btn-icon-left ui-btn-b" onclick="SaveNewLayer()" disabled>save</button>
<input type="text" id="newLayerName" placeholder="name" value="" />
Hier ist der Code, den ich benutze:
function setElementsDisabled() {
$('#newLayerName').keyup(function() {
if ($(this).val().length != 0)
$('#btnSaveLayer').attr('disabled', false);
else
$('#btnSaveLayer').attr('disabled', true);
})
}
Aus-Funktion oben Sie können sehen, dass, wenn der Benutzer Text in Text eingeben starten Box Butten aktiviert und wenn der Benutzer von Textfeld Schaltfläche entfernen deaktiviert.
Und es funktioniert perfekt !!!
Aber wenn ich klar Taste programmatisch diesen jquery Code verwendet:
$("#newLayerName").val('');
Der Text von Textfeld entfernt wird, aber wird Taste nicht deaktiviert.
Jede Idee, wie meine Funktion ändern setElementsDisabled
so, dass, wenn Textfeld auf die Schaltfläche leer ist deaktiviert? Hier
vielleicht '<' statt '! Rufen =' und was Sie auch tun können, ist, wenn Sie die leere Schaltfläche auslösen, setzen Sie auch "deaktiviert wahr" in dem gleichen Anruf. Auf diese Weise wird Ihre Taste automatisch blockiert, wenn jemand die Eingabe löscht. – hansTheFranz
Antwort anzeigen, die ich unten angegeben habe –
https://learn.jquery.com/using-jquery-core/faq/how-do-i-disable-enable-a-form-element/ – epascarello