Indhold

# HTML-filtre og formularer

Du kan bruge alle kontrolelement- og formularhændelser i HTML-dokumenter. Der er idag utallige hændelser (for eksempel fokushændelser), som ikke er ændret. De vil fortsat skulle importeres og eksporteret til JavaScript som ONFOCUS, ONBLUR, og så videre og som SDONFOCUS, SDONBLUR og så videre til LibreOffice Basic.

Generiske navne som består af lyttegrænsefladen og metodenavnet på hændelsen, bruges til alle andre hændelser: En hændelse registreret som XListener::metode eksporteres som

SDEvent-XListener-metode = "/* hændelse-kode */"

Bemærk at XListener- og metodekomponenter skelner mellem store og små bogstaver.

Hændelseshåndtering på kontrolelementer udføres ved at bruge LibreOffice API'et. Hvis du tildeler en hændelse til et kontrolelement, registrerer objektet sig selv internt som en "Listener" til en bestemt kontrolelementhændelse. For at gøre dette, skal objektet bruge en bestemt grænseflade, for eksempel XFocusListener grænsefladen, så den kan reagere på fokushændelser. Når hændelsen forekommer, kalder kontrolelementet så en speciel metode i Listener-grænsefladen når kontrolelementet modtager fokus. Det internt registrerede objekt kalder så det JavaScript eller LibreOffice Basic-kode, som blev tildelt til hændelsen.

HTML-filtret bruger præcis de samme lyttegrænseflader og metodenavne, så den kan importere og eksportere hændelser som ønsket. Du kan registrere en fokushændelse gennem

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

hellere end

<INPUT VÆRDI=text SDEvent-XFocusListener-focusGained="/* kode */"

registret. Hændelser kan derfor registreres som ønsket, også de som ikke tilbydes i rullelisten. For at definere scriptsprog på hændelser, kan du skrive følgende linje i dokumentsidehovedet:

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

Som CONTENT kan du for eksempel bruge "text/x-StarBasic" for LibreOffice Basic eller "text/JavaScript" for JavaScript. Hvis du ikke skriver noget, antages det at JavaScript benyttes.

Under eksporten vil standard scriptsproget blive defineret baseret på det første modul i makroadministration. For hændelser kan der kun bruges et sprog per dokument.