So verhindern Sie, dass Schlüsseleingaben in Schienen eingegeben werden

8

Einfaches Beispiel:

%Vor%

Ich denke, dies ist eine Standard-Ereignisbehandlung von Rails. Wenn der Benutzer hier die Eingabetaste drückt, sendet er die params .

Aber in meinem Fall muss ich die Eingabetaste für ein anderes Ereignis verwenden.

Ich muss users mit einem anderen Eingabefeld durch Drücken der Eingabetaste suchen.

Aber wenn ich form_for verwende, übergibt es das Formular. : (

Wie kann ich das Absenden mit der Eingabetaste in rails verhindern?

Muss ich einfache HTML-Tags verwenden? Wie <form> tag und <submit> button ?

Irgendwelche guten Lösungen?

    
Canna 24.12.2013, 09:57
quelle

2 Antworten

16

Eingabetaste submit ist kein Rails-Problem, es ist ein HTML / JS-Problem

Rails ist Backend (lebt auf dem Server); HTML / JS sind clientseitig (live im Browser) - sie bestimmen, welche Funktionalität aktiviert / deaktiviert ist

Ich würde Ihr Problem so umgehen:

%Vor%

Gute Referenz: Wie Sie ENTER-Taste drücken, um zu verhindern ein Webformular einreichen?

    
Richard Peck 24.12.2013, 10:16
quelle
1

Dies ist keine Rails-spezifische Frage, da es ein systemeigenes Verhalten aller Browser ist. Wenn Sie einen Button in Ihrem Formular haben (und Sie sollten :)), dann wird jeder Browser das Formular abschicken nachdem er Enter gedrückt hat. * Ich habe das nicht überprüft, aber auch ohne einen eindeutigen Sendeknopf sollte es das tun] Die angenommene Antwort ist korrekt, aber da es einen Thread gibt, der ein komplexeres Beispiel gibt, würde ich es auch durchgehen:

Verhindern Sie, dass Benutzer ein Formular abschicken, indem Sie die Eingabetaste drücken

    
luigi7up 29.03.2014 10:49
quelle

Tags und Links