Programmierung – Javascript
Verwendung von Ereignissen
Methode eines Objekts ___
Innerhalb von Javascript beziehungsweise Jscript können Events wie ganz normale Eigenschaften eines Objekts notiert werden. Man notiert dazu das jeweilige Objekt, einen Punkt (.) und das jeweilige Event. Die meisten Ereignisse können jederzeit abgebrochen werden, indem man ihnen den Wert false zuweist. Des Weiteren kann eine Funktion oder eine Methode eines Objekts übergeben werden, die zum Beispiel prüft, ob das Ereignis stattfinden soll oder nicht, und demnach true oder false an das Ereignis zurückgibt. Wichtig ist, dass eine Funktion ohne Parameter aufgerufen wird, wobei sich aber Javascript und Jscript ein wenig unterscheiden: Beide Sprachen erlauben es zwar nicht, eine Funktion mit Parameter aufzurufen, Javascript übergibt jedoch automatisch einen Parameter an die aufgerufene Funktion. Dieser Parameter ist vom Namen her frei wählbar und ist vom Typ des Javascript- Event-Objekts. Dazu muss die Funktion bei der Zuweisung zu einem Ereignis ohne Klammern und ohne Parameter notiert werden. Die Funktion an sich sollte dann aber einen beliebigen Parameter erhalten. Das übergebene Objekt enthält dann je nachArt des Ereignisses bestimmte Eigenschaften, die das Ereignis kennzeichnen. Jscript hingegen erwartet, dass die Funktion sowie die Zuweisung keine Parameter enthalten. Zusätzlich müssen alle Ereignisnamen komplett klein geschrieben werden, also ondblclick statt onDblClick. Es übergibt alle Eigenschaften des Ereignisses an das globale Objekt window.event. Um Fehlern vorzubeugen, wird dazu geraten, eine Browserabfrage vor die Ereigniszuweisung zu setzen,um herauszufinden, um welche Sprache es sich handelt, und gegebenenfalls reagieren zu können. Ein Beispiel:
/* JavaScript … */
function CheckFormular(Ereignis)
{
if(Ereignis.type == ‘submit’)
{
if(document.meinFormular.Textfeld.value == ”)
{return(false);}
}
}
document.meinFormular.onSubmit =CheckFormular;
/* JScript … */
function CheckFormular()
{
if(window.event.type == ‘submit’)
{
if(document.meinFormular.Textfeld.value == ”)
{return(false);}
} }
document.meinFormular.onsubmit =CheckFormular;
Erklärung: Im Beispiel wird dem Formular mein Formular das Ereignis onSubmit zugewiesen.Wird das Ereignis ausgelöst, wird also das Formular abgesendet, so wird die Funktion CheckFormular( [Ereignis]) aufgerufen. Innerhalb der Funktion wird abgefragt, ob es sich bei dem Aufruf der Funktion um das Absenden eines Formulars handelt, also ob onSubmit ausgelöst wurd. Ist dies der Fall, wird geprüft,ob in das Inputfeld Textfeld etwas geschrieben wurde oder nicht. Ist es leer, so wird false an das Ereignis zurückgegeben und das Absenden des Formulars somit verhindert.