Contenu

# Filtres et formulaires HTML

Vous pouvez utiliser tous les événements d'éléments de contrôle et de formulaires dans les documents HTML. De nombreux événements (événements de focus, par exemple) n'ont jusqu'ici pas été modifiés. Ils continueront à être importés et exportés sous les désignations ONFOCUS, ONBLUR, etc. pour JavaScript et SDONFOCUS, SDONBLUR, etc. pour LibreOffice Basic.

Des noms génériques, constitués de l'interface Listener et du nom de méthode pour l'événement, sont employés pour tous les autres événements. Un événement enregistré sous la forme XListener::method est exporté sous la forme

SDEvent-XListener-method = "/* event-code */"

Notez que les composants XListener et de méthode de cette option respectent la casse.

Le traitement des événements des champs de contrôle est effectué à l'aide de l'API de LibreOffice. Si vous assignez un événement à un élément de contrôle, un objet s'enregistre en interne comme un "Auditeur" pour cet événement spécifique. Pour ce faire, l'objet doit utiliser une interface spécifique, l'interface XFocusListener par exemple, pour pouvoir réagir aux événements de focus. Lorsque l'événement se produit, l'élément de contrôle invoque une méthode spéciale de l'interface Listener dès qu'il reçoit le focus. L'objet enregistré en interne invoque alors le code JavaScript ou le code LibreOffice Basic assigné à l'événement.

Le filtre HTML utilisant maintenant précisément ces interfaces et noms de méthode Listener, il peut être employé pour importer et exporter les événements comme souhaité. Vous pouvez enregistrer un événement de focus par

<INPUT TYPE=text ONFOCUS="/* code */"

plutôt qu'à travers le

<INPUT TYPE=text SDEvent-XFocusListener-focusGained="/* code */"

enregistrer. Les événements peuvent donc être enregistrés comme souhaité, y compris ceux qui ne sont pas proposés dans les zones de liste. Pour définir le langage du script des événements, vous pouvez écrire la ligne suivante dans l'en-tête du document :

<META HTTP-EQUIV="content-script-type" CONTENT="...">

Pour CONTENT, vous pouvez utiliser, entre autres, " text/x-StarBasic " pour LibreOffice Basic ou " text/JavaScript " pour JavaScript. Lorsque vous ne spécifiez aucune information, JavaScript est sélectionné.

Lors de l'export, le langage de script par défaut est défini en fonction du premier module trouvé dans la gestion de macro. Pour les événements, un seul langage peut être utilisé par document.