djantirak: input type image geht nicht, input type button geht????

Hallo Gemeinde ,

ich versteh das nicht.
Wieso funktioniert dieser button:
``
<input type=button value="Stop" onClick="StopTimer()">
also die Funktion per OnClick wird ausgelöst

aber dieser nicht?:
``
<input type="image" value="Stop" src="3b_stop_s.png" name="foto2"
 OnClick = "StopTimer()"
 OnMouseover ="this.src='3b_stop_over.png'"
OnMouseout  = this.src='3b_stop_down.png'">

Da der 1 Button die Funktion auslöst, kann es nicht an "StopTimer()" liegen.

Was muss ich tun, um aus dem Image -button heraus die Funtion auslösen zu können???

Danke

djantirak

  1. Hi,

    ich versteh das nicht.

    Die Tipps für Fragende?

    Dann lies sie bitte noch mal -

    Wieso funktioniert dieser button: [...]
    aber dieser nicht?:

    • damit du weisst, dass wir „funktioniert nicht” hier nicht als sinnvolle und brauchbare Problembeschreibung ansehen.

    Und dann liefere bitte eine solche nach.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Hallo und Danke für die Antworten.

      1. Ich versuchs mal zu beschreiben:

      Der input type="button" löst die Funktion die per onClick aufgerufen wird, aus.
       Der input type ="image" löst die Funktion die per OnClick aufgerufen wird ( beides Mal StopTimer() ) NICHT aus.

      Der Bildwechsel, der über OnmouseOver und OnMouseOut im input type="image2 aufgerufen wird, funktioniert.

      zum 1.Posting: Sorry, ich sitze schon den ganzen Tag davor und find die Lösung nicht.
      Das einzige was ich als Unterschied sehe, sind die Leerzeichen und die sind es nicht; die OnClick Funktion wird, trotz entfernter Leerzeichen, nicht ausgelöst.
      Any idea?

      Danke
      djantirak

      1. Hi,

        Der input type ="image" löst die Funktion die per OnClick aufgerufen wird ( beides Mal StopTimer() ) NICHT aus.

        Stattdessen ...?

        Befindet er sich vielleicht in einem Formular, welches er kurzerhand mal absendet?

        Any idea?

        Online-Beispiel.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Hi,

          Der input type ="image" löst die Funktion die per OnClick aufgerufen wird ( beides Mal StopTimer() ) NICHT aus.

          Stattdessen ...?

          Befindet er sich vielleicht in einem Formular, welches er kurzerhand mal absendet?

          Any idea?

          Online-Beispiel.

          MfG ChrisB

          Hey, Danke erstmal für deine Mühe!

          Hm, ich sehe, dass sowohl in der dreamweaver Live Vorschau als auch im Mozilla die Seite neu geladen wird,das spricht dafür, dass er versucht eine Formularaktion auszuführen, die es aber nicht gibt.

          Der input type="button" Button macht das nicht.
          Also sollte ich für meine beiden Start und Stop Buttons 2 eigene Formulare bauen und die StartTimer() bzw StopTimer() Funktionen in die Formularaktion packen? Oder kann ein Formular nur get und post?

          Puh, sorry bin grad etwas überfordert.

          und nochmal Sorry, kann kein Online Beispiel geben, da die Seite nur für ne Prüfung gebaut wird,und somit nicht hochgeladen werden muss.

          Danke
          djantirak

          PS: Kann ich jetzt mitten im Threat noch den ( nicht aussagekräftigen)Titel ändern?

          1. Hallo,

            Hm, ich sehe, dass sowohl in der dreamweaver Live Vorschau als auch im Mozilla die Seite neu geladen wird,das spricht dafür, dass er versucht eine Formularaktion auszuführen, die es aber nicht gibt.
            Der input type="button" Button macht das nicht.

            natürlich nicht, einem <input type="button"> ist nicht automatisch eine Aktion zugeordnet, einem <input type="image"> sehr wohl - er sendet das Formular ab.

            Also sollte ich für meine beiden Start und Stop Buttons 2 eigene Formulare bauen und die StartTimer() bzw StopTimer() Funktionen in die Formularaktion packen? Oder kann ein Formular nur get und post?

            Da du offensichtlich gar kein Formular absenden willst, verzichte auf ein solches und verwende stattdessen gewöhnliche img-Elemente, an die du deinen onclick-Handler bindest.
            Und bei der Gelegenheit könntest du auch gleich die Schreibweise von "onclick", "onmouseover" und "onmouseout" korrigieren.

            und nochmal Sorry, kann kein Online Beispiel geben, da die Seite nur für ne Prüfung gebaut wird,und somit nicht hochgeladen werden muss.

            Nicht muss, aber könnte.
            Und sorry, wenn's für eine Prüfung ist, ganz gleich welche, dann ist es unfair (wird unter Umständen sogar als Betrug ausgelegt), wenn du fremde Hilfe in Anspruch nimmst.

            PS: Kann ich jetzt mitten im Threat noch den ( nicht aussagekräftigen)Titel ändern?

            Jederzeit. Überschreibe ihn einfach.

            Ciao,
             Martin

            --
            Zivilisation bedeutet, dass die Eskimos warme Wohnungen bekommen und dann arbeiten müssen, damit sie sich einen Kühlschrank leisten können.
            1. Hallo,

              Hm, ich sehe, dass sowohl in der dreamweaver Live Vorschau als auch im Mozilla die Seite neu geladen wird,das spricht dafür, dass er versucht eine Formularaktion auszuführen, die es aber nicht gibt.
              Der input type="button" Button macht das nicht.

              natürlich nicht, einem <input type="button"> ist nicht automatisch eine Aktion zugeordnet, einem <input type="image"> sehr wohl - er sendet das Formular ab.

              Das wird des Pudels Kern sein, also doch ein image zu einem Button machen!

              Also sollte ich für meine beiden Start und Stop Buttons 2 eigene Formulare bauen und die StartTimer() bzw StopTimer() Funktionen in die Formularaktion packen? Oder kann ein Formular nur get und post?

              Der Form Tag war noch ein Rest des 1. Versuches mit dem Tvpe="button"

              Da du offensichtlich gar kein Formular absenden willst, verzichte auf ein solches und verwende stattdessen gewöhnliche img-Elemente, an die du deinen onclick-Handler bindest.

              Guter Plan

              Und bei der Gelegenheit könntest du auch gleich die Schreibweise von "onclick", "onmouseover" und "onmouseout" korrigieren.

              Äh, nu bin ich verwirrt ?

              und nochmal Sorry, kann kein Online Beispiel geben, da die Seite nur für ne Prüfung gebaut wird,und somit nicht hochgeladen werden muss.

              Nicht muss, aber könnte.
              Und sorry, wenn's für eine Prüfung ist, ganz gleich welche, dann ist es unfair (wird unter Umständen sogar als Betrug ausgelegt), wenn du fremde Hilfe in Anspruch nimmst.

              Glaub ich nicht, da wir sogar snippets übernehmen dürfen, sofern gekennzeichnet,und uns SelfHTML als Hilfe ausdrücklich empfohlen wurde.
              Da ich aber keinen Betrug gegehen möchte hätte ich die Lösung eh gekennzeichnet.

              PS: Kann ich jetzt mitten im Threat noch den ( nicht aussagekräftigen)Titel ändern?

              Jederzeit. Überschreibe ihn einfach.

              Ciao,
              Martin

              Lasst es Euch gut gehen

              djantirak

              1. Hi,

                Und bei der Gelegenheit könntest du auch gleich die Schreibweise von "onclick", "onmouseover" und "onmouseout" korrigieren.
                Äh, nu bin ich verwirrt ?

                weshalb? Weil du die Attributnamen in phantasievollem CamelCase notierst? Javascript ist case-sensitive, XHTML auch. In beiden Fällen *müssen* Eventhandler sowie die gleichnamigen Attribute durchgehend klein geschrieben werden. HTML ist zwar tolerant bezüglich der Groß/Kleinschreibung, aber warum sollte man ausgerechnet hier schludern, wenn man in anderen Bereichen ohnehin sorgfältig sein muss? Dann doch gleich konsequent.

                Und sorry, wenn's für eine Prüfung ist, ganz gleich welche, dann ist es unfair (wird unter Umständen sogar als Betrug ausgelegt), wenn du fremde Hilfe in Anspruch nimmst.
                Glaub ich nicht, da wir sogar snippets übernehmen dürfen, sofern gekennzeichnet,und uns SelfHTML als Hilfe ausdrücklich empfohlen wurde.
                Da ich aber keinen Betrug gegehen möchte hätte ich die Lösung eh gekennzeichnet.

                Interessant. Das macht die Prüfung einerseits realistisch, weil man im wirklichen Leben ja auch externe Quellen zur Hilfe nehmen würde; es kollidiert andererseits mit meiner Ideologie, nach der eine Prüfung eigentlich eine Prüfung des *eigenen* Könnens und Wissens sein sollte.

                So long,
                 Martin

                --
                Er:  Mit wem warst du gestern abend aus?
                Sie: Du bist mal wieder eifersüchtig wie immer!
                Er:  Wer ist Immer?
          2. Hi,

            Hm, ich sehe, dass sowohl in der dreamweaver Live Vorschau als auch im Mozilla die Seite neu geladen wird,das spricht dafür, dass er versucht eine Formularaktion auszuführen, die es aber nicht gibt.

            dieser Formulierung entnehme ich, dass es aber sehr wohl ein Formular gibt. Wenn dem so ist: Das action-Attribut ist _required_, nicht optional. Der Browser wird bei seinem Fehlen also eine Fehlerkorrektur durchführen und ein - aus seiner Sicht - günstiges action-Attribut hinzu erfinden.

            Der input type="button" Button macht das nicht.

            Nein, der ist ja auch nicht dafür gedacht, ein Formular abzuschicken, im Gegensatz zum <input type="image"/>.

            Also sollte ich für meine beiden Start und Stop Buttons 2 eigene Formulare bauen

            Wenn Du kein Formular haben willst, welches also Daten zur Verarbeitung an ein System schickt, sollst Du _gar kein_ Formular bauen. Es wäre semantischer Unsinn. Das <input>-Element muss auch nicht zwingend in einem Formular stecken - wobei sich natürlich in Bezug auf Semantik die Frage stellt, warum Du überhaupt ein <input>-Element verwendest.

            Oder kann ein Formular nur get und post?

            Vor allem "kann" ein Formular nur Daten verschicken.

            PS: Kann ich jetzt mitten im Threat noch den ( nicht aussagekräftigen)Titel ändern?

            Ich finde, Du solltest auf Threats komplett verzichten, egal welchen Titel Du ihnen gibst.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Liebe(r) djantirak,

    vergleiche

    <input type=button value="Stop" onClick="StopTimer()">

    mit

    <input type="image" value="Stop" src="3b_stop_s.png" name="foto2"
    OnClick = "StopTimer()"

    und achte auf Unterschiede in der Schreibweise. Fällt Dir etwas auf?

    Ich mache es mal gaaaanz deutlich:

    <input onclick="irgendwas" />  
    <input onclick = "irgendwas" />
    

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Hallo Felix Riesterer,

      Ich mache es mal gaaaanz deutlich:

      <input onclick="irgendwas" />

      <input onclick = "irgendwas" />

      Du meinst die Leerzeichen? Na und?  
        
      Mit freundlichem Gruß  
      Micha
      
      -- 
      kostenlose JavaScript Spiele: [Snake](http://derletztekick.com/javascript/snake), [MineSweeper](http://derletztekick.com/javascript/minesweeper) oder [Sudoku](http://derletztekick.com/javascript/sudoku)  
      [Forum Vermessung](http://forum.diegeodaeten.de) im Portal zur [Geodäsie und Geoinformatik](http://diegeodaeten.de)  
        
      
      
      1. Liebe(r) Micha,

        Ich mache es mal gaaaanz deutlich:

        <input onclick="irgendwas" />

        <input onclick = "irgendwas" />

        
        > Du meinst die Leerzeichen? Na und?  
          
        hehe, Schnippisches wird Dir in Computersprachen nicht weiterhelfen. Computer sehen in meinem Beispiel einen Riesenunterschied, wie Dir das Farbschema bereits deutlich machen sollte. Leerzeichen in einem Tag haben eine Bedeutung. Sie trennen Attribute voneinander. Oder würdest Du sofort verstehen, was das hier soll?  
          
        `<ahref = www.example.com und sonst nochwas>`{:.language-html}  
          
        Liebe Grüße,  
          
        Felix Riesterer.
        
        -- 
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        
        1. Hi,

          Leerzeichen in einem Tag haben eine Bedeutung. Sie trennen Attribute voneinander.

          sie trennen, ja, aber nicht zwingend Attribute. Beispielsweise sind um das "="-Zeichen zwischen Attributname und -wert Leerzeichen absolut erlaubt.

          Oder würdest Du sofort verstehen, was das hier soll?

          Nein, aber Dein Beispiel hat mit Deiner Behauptung ja auch nichts zu tun.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Lieber Cheatah,

            Beispielsweise sind um das "="-Zeichen zwischen Attributname und -wert Leerzeichen absolut erlaubt.

            das war mir neu. Eine schnelles Google-Suche hat mir die passende Spezifikation nicht aufgezeigt. Hast Du mir einen Link, wo ich das nachlesen kann? Das Syntax-Highlighting in meinen diversen Editoren und auch hier im Forum lassen einen anderen Schluss zu. Und darauf, dass sich die Browser alle daran halten, möchte ich mich lieber nicht verlassen.

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
            1. das war mir neu. Eine schnelles Google-Suche hat mir die passende Spezifikation nicht aufgezeigt. Hast Du mir einen Link, wo ich das nachlesen kann? Das Syntax-Highlighting in meinen diversen Editoren und auch hier im Forum lassen einen anderen Schluss zu. Und darauf, dass sich die Browser alle daran halten, möchte ich mich lieber nicht verlassen.

              Nein, du bist über einen anderen Fehler gestolpert. Die Leerzeichen sind unrelevant, es fehlt ein doppeltes Anführungszeichen.

              Struppi.

              1. Lieber Struppi,

                es fehlt ein doppeltes Anführungszeichen.

                das tut es bei XHTML in jedem Fall, bei HTML nur, wenn der Attributwert Leerzeichen enthalten soll, die nicht maskiert oder als Entity notiert werden.

                Liebe Grüße,

                Felix Riesterer.

                --
                ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                1. es fehlt ein doppeltes Anführungszeichen.

                  das tut es bei XHTML in jedem Fall, bei HTML nur, wenn der Attributwert Leerzeichen enthalten soll, die nicht maskiert oder als Entity notiert werden.

                  Mir ging es zwar nur um's syntax highlighting. Aber natürlich wirft der code auch in HTML eine Fehlermeldung.

                  Fehler: unterminated string literal

                  Struppi.

                2. Hi,

                  es fehlt ein doppeltes Anführungszeichen.
                  das tut es bei XHTML in jedem Fall, bei HTML nur, wenn der Attributwert Leerzeichen enthalten soll, die nicht maskiert oder als Entity notiert werden.

                  nun, wenn bei HTML das Anführungszeichen nicht fehlt, dann ist das andere aber definitiv zu viel ;-)

                  Cheatah

                  --
                  X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                  X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                  X-Will-Answer-Email: No
                  X-Please-Search-Archive-First: Absolutely Yes
                  1. Lieber Cheatah,

                    nun, wenn bei HTML das Anführungszeichen nicht fehlt, dann ist das andere aber definitiv zu viel ;-)

                    *hmpf* jetzt sehe sogar _ich_ es...

                    Liebe Grüße,

                    Felix Riesterer.

                    --
                    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                3. @@Felix Riesterer:

                  nuqneH

                  es fehlt ein doppeltes Anführungszeichen.

                  das tut es bei XHTML in jedem Fall, bei HTML nur, wenn der Attributwert Leerzeichen enthalten soll, die nicht maskiert oder als Entity notiert werden.

                  Nicht so ganz. Wann in HTML keine Anführungszeichen um Attributwerte stehen müssen (aber dennoch sollten), lässt sich in [HTML401 §3.2.2] nachlesen.

                  Qapla'

                  --
                  Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
            2. Hi,

              Hast Du mir einen Link, wo ich das nachlesen kann?

              ja, aber leider nicht vor Ort. Meine besten Linksammlungen sind bei der Arbeit ... Ich werde morgen mal nach der entsprechenden Spezifikation suchen.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
            3. @@Felix Riesterer:

              nuqneH

              Beispielsweise sind um das "="-Zeichen zwischen Attributname und -wert Leerzeichen absolut erlaubt.

              das war mir neu. Eine schnelles Google-Suche hat mir die passende Spezifikation nicht aufgezeigt. Hast Du mir einen Link, wo ich das nachlesen kann?

              In der XML-Spezifikation, 3.1 Start-Tags, End-Tags und Leeres-Element-Tags:

              [40] STag ::= '<' Name (S Attribute)* S? '>'
              [41] Attribute ::= Name Eq AttValue

              Interessant ist hier "Eq". In der Spec ist die Regel verlinkt:

              [25] Eq ::= S? '=' S?

              In SGML gilt dasselbe.

              Qapla'

              --
              Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
  3. aber dieser nicht?:
    ``
    <input type="image" value="Stop" src="3b_stop_s.png" name="foto2"
    OnClick = "StopTimer()"
    OnMouseover ="this.src='3b_stop_over.png'"
    OnMouseout  = this.src='3b_stop_down.png'">

    Du benutzt keinen Editor mit syntax highlighting? Dann würdest du ein Problem sofort sehen.

    Da der 1 Button die Funktion auslöst, kann es nicht an "StopTimer()" liegen.

    Dann kann es nur am fehlerhaften HTML Code liegen.

    Struppi.

  4. hi,

    Vergleich doch mal deine beiden input.

    <input type=button value="Stop"  
      
    onClick="StopTimer()"  
      
    
    >
    
    
    <input type="image" value="Stop" src="3b_stop_s.png" name="foto2"  
      
    OnClick = "StopTimer()"  
    OnMouseover ="this.src='3b_stop_over.png'"  
    OnMouseout  = this.src='3b_stop_down.png'"  
      
    
    >
    
    

    Debugging würde hier helfen. Also die einzelnen Funktions-aufrufe löschen und nach und nach einbauen, dann kannst du nachvollziehen, wo Javascript streikt.

    mfg