Verhindern Sie die Eingabe in das Textfeld, obwohl das Feld NICHT deaktiviert/schreibgeschützt ist

Lesezeit: 2 Minuten

Benutzer-Avatar
Gen b.

Kann ich die Eingabe in HTML-Textfelder verhindern, selbst wenn mein Feld NICHT deaktiviert oder schreibgeschützt ist? Ich habe diese Anforderung.

Vielleicht kann ich alle Eingaben per JS oder jQuery blockieren?

Benutzer-Avatar
Lal

Sieh dir das an Geige

Sie können dafür jQuery verwenden. Sie können dies wie folgt tun

$('input').keypress(function(e) {
    e.preventDefault();
});

ODER

Sie können einfach false zurückgeben, anstatt zu verwenden preventDefault(). Siehe das Skript unten

$('input').keypress(function(e) {
    return false
});

Siehe die Geige

ODER

Eine stark vereinfachte Version ohne Javascript wäre wie folgt. Ändern Sie einfach Ihren HTML-Code wie unten

<input type="text" onkeypress="return false;"/>

Siehe die Geige

Wenn Sie nach einer schreibgeschützten Eingabe suchen, besteht eine einfache Möglichkeit darin, „readonly“ zum Eingabe-HTML hinzuzufügen. Zum Beispiel,

<input type="number" readonly>

Dadurch wird die Formularübermittlung oder andere Ereignis-Listener nicht beeinträchtigt. Eingaben mit ‘readonly’ werden weiterhin übermittelt, aber keine Eingaben mit ‘disabled’.

Für Referenzen: https://www.w3schools.com/TAGS/att_input_readonly.asp

  • Titel sagt wörtlich NOT Disabled/Read-Only. Keine Ahnung, warum das positiv bewertet wird

    – Martin Dawson

    31. Oktober 2021 um 11:42 Uhr

  • Dies programmgesteuert tun und die festlegen disabled -Attribut auf der Senden-Schaltfläche erhält das angeforderte Verhalten

    – tris timb

    27. Januar um 17:49 Uhr

Wenn Sie das Feld unlösbar machen möchten.

$('input').focus(function(e) {
    $(this).blur();
});

Beispiel : https://jsfiddle.net/DinoMyte/up4j39qr/15/

Benutzer-Avatar
Zakaria Acharki

Sie könnten false zurückgeben input Ereignis oder Verwendung .val('') um das Feld zurückzusetzen, wenn der Benutzer jedes Mal versucht, etwas zu schreiben:

$('input').input(function(e) {
    $(this).val('');
});

Hoffe das hilft.


$('input').on('input', function(e) {
    $(this).val('');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />

Die akzeptierte Antwort funktioniert für mich einwandfrei, aber ich wollte sie auch einschließen Wechsel, Escund löschen Schlüssel. Verwenden Sie in diesem Fall keydown Anstatt von keypress:

$('input').keydown(function(e) {
  e.preventDefault();
});

Dokumentation: https://api.jquery.com/keydown/

1140060cookie-checkVerhindern Sie die Eingabe in das Textfeld, obwohl das Feld NICHT deaktiviert/schreibgeschützt ist

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy