-> onClick -> zwei Funktionen aufrufen
Guma
- javascript
Hallo zusammen,
ich will beim Eventhandler onClick zwei Funktionen aufrufen. Da habe ich einfach beide Funktionen mit einem Strichpunkt separiert hintereinander geschrieben. Im IE hat das prima geklappt, Firefox weigert sich (wahrscheinlich zu Recht) beide funktionen auszuführen. Der Fuchs wartet wahrscheinlich auf eine externe Funktion in der ich z.B. zwei Funktionen aufrufe.
Versuch 1: (Firefox mag das nicht und führt Funktion 2 nicht aus)
<img onClick="finder();setz_zurueck();" src="image.gif">
Versuch 2: (werde ich gleich versuchen)
<img onClick="beidefunktionen();" src="image.gif">
versuch 3: (kann ich evtl auch andere Eventhandler mitnutzen?)
<img onClick="finder();" onMouseUp="setz_zurueck();" src="image.gif">
Oder ist das alles unsicher und nicht gut?
Euer Guma
hi,
Versuch 1: (Firefox mag das nicht und führt Funktion 2 nicht aus)
<img onClick="finder();setz_zurueck();" src="image.gif">
Dann liegt der Fehler in einer der beiden Funktionen - das Vorgehen ist theoretisch vollkommen OK.
gruß,
wahsaga
Danke für den hinweis,
ich prüfe die Funktionen jetzt mal und melde mich zurück.
Guma
So hier mein Versuch:
Bei mir funktioniert der Klick auf Input bestens: (beide Funktionen werden ausgeführt)
<input type="radio" onClick="javascript:setz_zurueck();javascript:submit();" name="land" value="Germany">
Beim Image tus sich nichts: (keine Funktion wird ausgeführt)
<img onClick="javascript:setz_zurueck();javascript:submit();" src="image.gif" width="102" height="129">
Die Aufrufe sind doch gleich warum geht es beim einen und beim anderen nicht?
Soll ich nicht besser beide Funktionen in eine Überfunktion schreiben und diese aufrufen?
Ich steh vor einem Räzel und versinke in Unklarheit.
Euer Guma
Hallo Guma!
<input type="radio" onClick="javascript:setz_zurueck();javascript:submit();" name="land" value="Germany">
Falsche Syntax. Verstehe, einfach ausgedrückt, die Event-Handler als Schnittstelle zwischen HTML und JavaScript. Nach der Deklaration eines Event-Handlers wird der Aufruf einer JavaScript-Funktion oder JavaScript-Code erwartert. Daher ist onclick="javascript:..." nicht nur doppelt gemoppelt sondern falsch.
Viele Grüße aus Frankfurt/Main,
Patrick
Hallo Patrick,
also javascript bei beiden weglassen?
Guma
Hallo Guma!
also javascript bei beiden weglassen?
Auf jeden Fall! Allerdings war dies nur als Hinweis für bessere Syntax für Dein zukünftigen Code zu verstehen, ob es Dein Problem löst, weiß ich nicht.
Viele Grüße aus Frankfurt/Main,
Patrick
Danke Patrick,
syntax ist jetzt schön und funktioniert einwandfrei:
onClick="setz_zurueck();self.document.finder.submit();"
Danke für die Hilfe.
Guma
onClick="setz_zurueck();self.document.finder.submit();"
noch einfacher
onclick="setz_zurueck();this.submit();"
Struppi.
Hallo Struppi.
onClick="setz_zurueck();self.document.finder.submit();"
noch einfacher
onclick="setz_zurueck();this.submit();"
Du meinst „this.form.submit();“, nicht?
Einen schönen Mittwoch noch.
Gruß, Mathias
hi,
onclick="setz_zurueck();this.submit();"
Du meinst „this.form.submit();“, nicht?
Wenn immer noch davon die Rede ist, dass dieser Event auf einem einfachen Img (nicht input type=image) stattfindet - dann weder noch.
Weder lässt sich ein Img abschicken, nach hat es eine Eigenschaft form.
gruß,
wahsaga
onclick="setz_zurueck();this.submit();"
Du meinst „this.form.submit();“, nicht?
jaja.
Wenn immer noch davon die Rede ist, dass dieser Event auf einem einfachen Img (nicht input type=image) stattfindet - dann weder noch.
Weder lässt sich ein Img abschicken, nach hat es eine Eigenschaft form.
Stimmt, ich hatte hier nur den ersten HTML Code beachtet https://forum.selfhtml.org/?t=135371&m=878649
Struppi.
Hallo nochmal,
jetzt habe ich herausgefunden, dass Firefox statt
javascript:submit()
javascript:self.document.finder.submit()
benötigt.
Damit wird die zweite funktion auch angesprochen.
Guma ist ausser sich vor Freude.
Versuch 1: (Firefox mag das nicht und führt Funktion 2 nicht aus)
<img onClick="finder();setz_zurueck();" src="image.gif">
Dann hast du mit Sicherheit einen Fehler in finder(), was steht denn in der JS Konsole.
Struppi.
Hallo Guma!
Wie meine Vorgänger schon sagte, sollte mehr als ein Funktionsaufruf im Event-Handler kein Problem sein. Hier sind es sechs und alles funzt(TM):
onClick="her('map');hauab('tafel');hauab('tcenter');appear();auchdu_weg();setTimeout('zeigmapzu()', 1000);return false;"
Event-Händler: Events, Events zu verkaufen!
onMouseOver: Mensch, der versucht es ja wieder, over this kann ich mich jedesmal aufregen!
onMouseOut: Ja, mir reichts. Bin weg. Just going out.
onMouseDown: Mich deprimiert sowas.
onMouseUp: Ich find's eher aufregend.
onfocus: Na warte, den behalte ich im Auge.
onchange: Wieso nicht, ist mal was anderes.
onerror: Ein großer Fehler!
onabort: Oh nein, nicht schon wieder, das letzte Mal habe ich mein firstChild verloren...
Viele Grüße aus Frankfurt/Main,
Patrick
Grundlage für Zitat #456.