HTML-Texteingabe: Vermeiden Sie Senden, wenn die Eingabetaste gedrückt wird

Lesezeit: 2 Minuten

Benutzer-Avatar
Milos Cuculović

Ich habe eine HTML-Eingabe, die ein Textfeld ist. Wenn ich die Eingabetaste drücke, wird das Senden aufgerufen, was normal ist.

Jetzt möchte ich etwas anderes tun, wenn die Eingabetaste auf dieses Textfeld geklickt wird.

Ich versuche so etwas:

<input type="text" 
       id="first_page"  
       onPaste="" 
       onkeydown="if (event.keyCode == 13) alert('enter')" />

Die Benachrichtigung funktioniert gut, aber die Übermittlung ist immer noch abgeschlossen. Meine Seite wird danach neu geladen.

Kannst du mir bitte helfen.

  • Sie brauchen keinen ‘onPaste’-Parameter

    – Knase

    2. Mai 2017 um 14:21 Uhr

schreiben return false; und überprüfe es

  • Dies ist jetzt als veraltet gekennzeichnet. Sollte jetzt event.preventDefault() und/oder event.stopPropagation() sein

    – thsorens

    15. Juni 2015 um 11:46 Uhr

Benutzer-Avatar
Sibu

Verwendung von jquery

<script>
            $('#first_page').keypress(function(e) {
              if (e.keyCode == '13') {
                 e.preventDefault();
                 //your code here
               }
            });​
        </script>

mit Javascript

<input type="text" id="first_page"  onPaste="" onkeydown="if (event.keyCode == 13) { alert('enter');return false;}" />

  • In der Frage wird jQuery nirgendwo erwähnt.

    – James Allardice

    5. September 2012 um 9:47 Uhr

  • könnte es abkürzen mit … onkeydown=”event.keyCode == 13 && event.preventDefault()”

    – Zitronenskunk

    4. März um 15:32 Uhr

Benutzer-Avatar
s_a

Eine andere Option wäre die Verwendung von onkeypress

<input type="text" id="first_page"  onPaste="" onkeypress="if (event.keyCode == 13) {alert('enter'); return false;}" />

  • In der if-Anweisung benötigen Sie {}, sonst geben Sie für jede gedrückte Taste immer false zurück.

    – Phil Sattele

    9. Juli 2015 um 19:47 Uhr

Sie könnten das folgende Skript versuchen:

 <script>
 function checkEnter(event)
{
    if (event.keyCode == 13) 
   {
       alert('enter')
       return false;
    }
}

Und das HTML:

<input type="text" id="first_page"  onPaste="" onkeydown="return checkEnter(event);" />

Benutzer-Avatar
Xavi Lopez

Sie sollten zurückkehren false in dem keydown Event-Handler-Funktion, um eine weitere Verarbeitung des Events zu verhindern.

Außerdem könnten Sie die folgende Frage nützlich finden: Verhindern Sie, dass Benutzer das Formular senden, indem Sie die Eingabetaste drücken.

Benutzer-Avatar
Hkatschia

Schreiben Sie den folgenden Code nach alert('enter')

return false;

Benutze das, bei mir hat es funktioniert.

Beim Keydown ersetzen:

onkeydown="if (event.keyCode == 13 || event.which == 13) event.preventDefault();"

  • Danke @Michelle, ich bin noch neu bei Stackoverflow.

    – Abdul Afiq

    3. Oktober 2017 um 1:49 Uhr

1054670cookie-checkHTML-Texteingabe: Vermeiden Sie Senden, wenn die Eingabetaste gedrückt wird

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

Privacy policy