© Sammby/Shutterstock.com
Teil 2: Universelle Ereignisbehandlung mit Kotlin

It’s ready when it’s done


Jede Webseite enthält Elemente, die bei der Interaktion mit dem Benutzer Ereignisse auslösen. Ein Ereignis kann auftreten, wenn ein Link oder ein Button der Seite angeklickt wird, ein Haken, um AGBs zu akzeptieren, gesetzt oder ein Textfeld ausgefüllt wird. Im zweiten Teil unserer Artikelserie untersuchen wir das Auslösen von Ereignissen auf einer Seite und ihre Behandlung mittels Kotlin.

Artikelserie

Teil 1: Dynamische Webseiten mit PHP und Kotlin

Teil 2: Universelle Ereignisbehandlung mit Kotlin

Ein ausgefülltes Formular zu validieren und den Inhalt an den Server zu senden, ist eine der häufigsten Routineaufgaben jedes Onlineentwicklers. Mit Kotlin können all diese Ereignisse komfortabel behandelt werden, ohne zwangsweise einen HTTP-POST/GET-Server-Round-Trip zu initiieren. Konsequenterweise lassen sich sogar Aufrufe an Server weitestgehend minimieren, da Teile der Logik im Client, also im Browser des Anwenders, laufen und die Last auf dem Server signifikant verringert werden kann.

Ganz schön ereignisreich

In Listing 1 wird der PHP-Seite ein Inputelement vom Typ Button hinzugefügt, in der zur Behandlung von Klicks die Funktion kt.trigger(this) registriert ist. Zur Anzahl und Art der Eventparameter habe ich schon viele Diskussionen gelesen und doppelt so viele Meinungen gehört. Letztlich finde ich die Übergabe des ereignisauslösenden Objekts selbst, also hier des Inputelements this, immer noch am sinnvollsten. Somit ist der Event Handler in der Lage, auf alle Eigenschaften des Ereignisobjekts zugreifen zu können und zu entscheiden, was damit anzufangen ist. Natürlich können auch beliebige andere Parameter übergeben werden, wenn Sie das für sinnvoll erachten. Wichtig ist allerdings, sich auf ein einheitliches Modell zu beschränken, um im Projekt die Konsistenz zu wahren.

Zur Erinnerung: Das Präfix kt. der trigger-Funktion ist zwingend erforderlich; es verweist auf den Namen des js-Moduls, das wir als Compileroutput definiert haben [1].

Listing 1: Aufruf zu Kotlin aus Klickevent

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> </head> <body> <?php echo "Hello Kotlin..." ?> <p id="_message">...where are thou?</p> <input type="button" id="_Inp1" value=" Klick Mich " onclick="kt.trigger(this)" > <script type="text/javascript" src="js/lib/kotlin.js"></script> <script type="text/javascript" src="js/kt.js"></script> </body> </html>

In Listing 2 wird der Kotlin-Quelltext um die neue Funktion trigger(...) ergä...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang