Guma: -> onClick -> zwei Funktionen aufrufen

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

  1. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Danke für den hinweis,
      ich prüfe die Funktionen jetzt mal und melde mich zurück.

      Guma

    2. 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

      1. 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

        --

        _ - jenseits vom delirium - _
        1. Hallo Patrick,

          also javascript bei beiden weglassen?
          Guma

          1. 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

            --

            _ - jenseits vom delirium - _
            1. Danke Patrick,

              syntax ist jetzt schön und funktioniert einwandfrei:

              onClick="setz_zurueck();self.document.finder.submit();"

              Danke für die Hilfe.
              Guma

              1. onClick="setz_zurueck();self.document.finder.submit();"

                noch einfacher

                onclick="setz_zurueck();this.submit();"

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. 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

                  --
                  sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                  „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
                  [HTML Design Constraints: Logical Markup]
                  1. 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

                    --
                    /voodoo.css:
                    #GeorgeWBush { position:absolute; bottom:-6ft; }
                    1. 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.

                      --
                      Javascript ist toll (Perl auch!)
      2. 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.

  2. 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.

    --
    Javascript ist toll (Perl auch!)
  3. 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

    --

    _ - jenseits vom delirium - _