Nikolai: Formular mit grafischem Absendebutton mit JS auswerten?

Hallo!
Gibt es eine Möglichkeit, per JS auf die X und Y Koordinaten zuzugreifen, die durch ein
<input type="inmage"> feld übermittelt werden zuzugreifen, sobald das Formular (an eine JS Funktion) abgesendet wurde?

  1. Hi,

    Gibt es eine Möglichkeit, per JS auf die X und Y Koordinaten zuzugreifen, die durch ein
    <input type="inmage"> feld übermittelt werden zuzugreifen, sobald das Formular (an eine JS Funktion) abgesendet wurde?

    Nicht direkt; da muesstest du schon den click-Event abfangen, und dir dann die Klick-Koordinaten ueber das event-Objekt besorgen. Dabei beachten, welche Browser diese wie liefern, und ob element-, bildschirm- oder dokument-relativ.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hi,

      Gibt es eine Möglichkeit, per JS auf die X und Y Koordinaten zuzugreifen, die durch ein
      <input type="inmage"> feld übermittelt werden zuzugreifen, sobald das Formular (an eine JS Funktion) abgesendet wurde?

      Nicht direkt; da muesstest du schon den click-Event abfangen, und dir dann die Klick-Koordinaten ueber das event-Objekt besorgen. Dabei beachten, welche Browser diese wie liefern, und ob element-, bildschirm- oder dokument-relativ.

      MfG ChrisB

      Das hatte ich befürchtet ...
      Dann muss ich wohl zur umständlichen Variante greifen. Währe ja auch zu schön gewesen.

      1. Gibt es evtl die Möglichkeit, die X und Y Koordinate mit Hilfe eines Bildes, dessen Atribut "ismap" gesetzt wurde, mit JS abzufangen? Das währe dann deutlich einfacher als mit window.event und 30 verschienden Browsern herumzubasteln zu müssen.
        Zur not kann ich das Formular immernoch 'normal' absenden und PHP die Arbeit machen lassen, aber JS währe hier wirklich von Vorteil.

        1. Gibt es evtl die Möglichkeit, die X und Y Koordinate mit Hilfe eines Bildes, dessen Atribut "ismap" gesetzt wurde, mit JS abzufangen? Das währe dann deutlich einfacher als mit window.event und 30 verschienden Browsern herumzubasteln zu müssen.

          Die Position des Klicks kannst du so abfragen:

          function mouse_pos(e) {  
           if(!e) e = window.event;  
           var body = (window.document.compatMode && window.document.compatMode == "CSS1Compat") ?  
           window.document.documentElement : window.document.body || null;  
            
           return {  
           // Position im Dokument  
           top: e.pageY ? e.pageY : e.clientY + body.scrollTop - body.clientTop,  
           left: e.pageX ? e.pageX : e.clientX + body.scrollLeft  - body.clientLeft  
           };  
          }  
          
          

          Struppi.

          1. // Position im Dokument

            Gut, wenn man jetzt aber die relative Mausposition in Bezug auf ein <input type=image> will, braucht man noch dessen Offset, und bei der dieser Berechnung versagen oftmals selbst große Bibliotheken mit unglaublich viel Know-How. Das scheint mir alles zu kompliziert für eine viel einfacher lösbare Aufgabe.

            Mathias

            1. // Position im Dokument

              Das scheint mir alles zu kompliziert für eine viel einfacher lösbare Aufgabe.

              Ich wußte ich hätte genauer nachdenken sollen ;-)

              Struppi.

        2. Gibt es evtl die Möglichkeit, die X und Y Koordinate mit Hilfe eines Bildes, dessen Atribut "ismap" gesetzt wurde, mit JS abzufangen? Das währe dann deutlich einfacher als mit window.event und 30 verschienden Browsern herumzubasteln zu müssen.

          Erstens musst du ohnehin mit dem Event-Objekt arbeiten, denn so funktioniert Event-Handling mit JavaScript, zweitens musst du nicht dreißig Browser beachten, sondern z.B. zwei verschiedene Modelle, d.h. zwei Paare an Event-Eigenschaften. Als da wären http://de.selfhtml.org/javascript/objekte/event.htm#offset_x_y@title=offsetX/Y und http://de.selfhtml.org/javascript/objekte/event.htm#layer_x_y@title=layerX/Y. Dann braucht der Button noch position: relative.

          Beispiel:
          http://molily.de/temp/relative-mausposition

          Mathias