Sie können eine JavaScript-Funktion einem JSF-Steuerelement (JavaServer Faces) zuweisen, damit diese als Ereignishandler fungiert, oder Sie können einen Ereignishandler von einem Steuerelement entfernen. In diesem Kontext ist ein Ereignishandler eine JavaScript-Funktion, die aufgerufen wird, wenn ein bestimmtes Ereignis auf der Seite erfolgt. Sie können zum Beispiel einem Texteingabesteuerelement eine Funktion zuweisen, indem Sie den Ereignishandler onClick verwenden. Wenn das Steuerelement im Browser angeklickt wird, wird die als Ereignishandler onClick definierte Funktion ausgeführt.
Die JavaScript-Funktion, die als Ereignishandler verwendet wird, muss für die Seite verfügbar sein, entweder in einem <script>-Tag auf der Seite selbst oder in einer Scriptdatei, die mit der Seite verknüpft ist. EGL-Funktionen können nicht als Ereignishandler für ein JSF-Steuerelement verwendet werden.
Führen Sie die folgenden Schritte aus, um einem JSF-Steuerelement einen Ereignishandler zuzuweisen oder einen Ereignishandler von einem JSF-Steuerelement zu entfernen:
- Drücken Sie in einer leeren Zeile innerhalb einer Funktion im JSF-Handler Strg+Umschalt+Z.
Das Fenster 'EGL-Quellenassistent' wird geöffnet und die JSF-Steuerelemente werden auf der Seite angezeigt.
- Wählen Sie im Fenster 'EGL-Quellenassistent' das JSF-Bildsteuerelement aus, auf das Sie zugreifen möchten.
- Klicken Sie auf 'OK'.
Im EGL-Quellenassistent werden zwei Zeilen EGL-Code zum JSF-Handler hinzugefügt. Mit der ersten Zeile wird eine EGL-Variable des Typs definiert, der mit dem ausgewählten JSF-Steuerelement übereinstimmt.
Mit der zweiten Zeile wird diese Variable dem JSF-Steuerelement zugeordnet. Der Code zum Zugreifen auf ein JSF-Eingabetextsteuerelement könnte zum Beispiel folgendermaßen aussehen:
text1 HtmlInputText;
text1 = myViewRoot.findComponent("form1:text1");
- Weisen Sie unter Verwendung der mit dem Quellenassistent erstellten EGL-Variable die Ereignishandler zu oder entfernen Sie sie. Fügen Sie zum Beispiel den folgenden Code hinzu, um die JavaScript-Funktion myFunction() als Ereignishandler für onClick für die Textsteuerung hinzuzufügen:
text1.setOnclick("myFunction");
Weisen Sie einem JSF-Steuerelement eine leere Zeichenfolge als Ereignishandler zu, um einen Ereignishandler aus einem JSF-Steuerelement zu entfernen:
text1.setOnclick("");