997 Stimmen

Benutzer daran hindern, ein Formular durch Drücken der Eingabetaste abzuschicken

Ich habe eine Umfrage auf einer Website, und es scheint einige Probleme mit den Benutzern zu geben, die die Eingabetaste drücken (ich weiß nicht, warum) und versehentlich die Umfrage (das Formular) abschicken, ohne auf die Schaltfläche "Abschicken" zu klicken. Gibt es eine Möglichkeit, dies zu verhindern?

Ich verwende HTML, PHP 5.2.9 und jQuery für die Umfrage.

18voto

Developer Punkte 748

Das ist meine Lösung, um das Ziel zu erreichen, sie ist sauber und effektiv.

$('form').submit(function () {
  if ($(document.activeElement).attr('type') == 'submit')
     return true;
  else return false;
});

15voto

Nisharg Shah Punkte 12300

Sie können auch Folgendes verwenden javascript:void(0) um die Übermittlung des Formulars zu verhindern.

<form action="javascript:void(0)" method="post">
    <label for="">Search</label>
    <input type="text">
    <button type="sybmit">Submit</button>
</form>

<form action="javascript:void(0)" method="post">
    <label for="">Search</label>
    <input type="text">
    <button type="sybmit">Submit</button>
</form>

12voto

Jimwel Anobong Punkte 448

Eine Schaltfläche zum Absenden könnte nicht ausreichen. Setzen Sie einfach ein Skript auf die Eingabe (type=button) oder fügen Sie eventListener, wenn Sie wollen, dass es die Daten in das Formular zu übermitteln.

Verwenden Sie stattdessen diese

<input type="button">

als mit diesem

<input type="submit">

10voto

Khn Rzk Punkte 848

Dies ist der perfekte Weg, Sie werden nicht von Ihrer Seite umgeleitet werden

$('form input').keydown(function (e) {
if (e.keyCode == 13) {
    e.preventDefault();
    return false;
}
});

9voto

sidarcy Punkte 2858

Wenn Sie dem Formular die Aktion "javascript:void(0);" zuweisen, scheint das zu funktionieren.

<form action="javascript:void(0);">
<input type="text" />
</form>
<script>
$(document).ready(function() {
    $(window).keydown(function(event){
        if(event.keyCode == 13) {
    alert('Hello');
        }
    });
});
</script>

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