Einfaches Eingeben zum Einreichen des Formulars

8

Gibt es eine einfache Möglichkeit, die Eingabe zu aktivieren, um etwas Javascript für ein Formular mit Papiereingabe auszuführen. Ich kann den Tastenanschlag bei jedem Element fangen, aber das scheint irgendwie langweilig.

    
PizzaPanther 27.07.2014, 22:37
quelle

2 Antworten

8

Mit der aktuellen Polymer-Version 1.0 konnte ich das mit iron-a11y-keys .

Hier ist ein Beispiel, das an das gesamte Formular gebunden ist und die Übermittlung an einem untergeordneten Eingabeelement auslöst:

%Vor%

...

%Vor%     
Michal Galet 04.01.2016 09:00
quelle
5

Momentan (Polymer 0.3.4) scheint kein Ereignis ausgelöst zu werden, wenn man die Eingabetaste in eine Papiereingabe drückt. Sie können jedoch das Element Papiereingabe erweitern und diese Funktionalität hinzufügen (siehe Erweitern anderer Elemente im Polymer-Dokument):

%Vor%

Dann können Sie ein benutzerdefiniertes Ereignis auslösen, wenn die Eingabetaste gedrückt wird:

%Vor%

Aus praktischen Gründen wird der Eingabewert an den Event-Handler übergeben. Jetzt können Sie Ihr neues Element wie folgt verwenden:

%Vor%

Bearbeiten 1:

Da das Ereignis in der Elementhierarchie aufsteigt, kann man es auf dem umgebenden Formularelement abfangen:

%Vor%

Dann erhält man die Ereignisse aller Eingabeelemente an einer Stelle (die Ereignisübertragung kann gestoppt werden, indem stopPropagation(); für das Ereignisobjekt aufgerufen wird).

Bearbeiten 2:

Am besten geben Sie benutzerdefinierten Ereignissen eindeutige Namen, damit sie nicht mit den Namen von Kernereignissen kollidieren, die in der Zukunft hinzugefügt werden (z. B. my-unique-prefix-input-entered ).

    
Dirk Grappendorf 27.07.2014 23:34
quelle

Tags und Links