Björn: Image-Button funzt nicht mit IE

Ich dreh hier nochmal druch mit diesem verdammten IE!!

Ich habe drei verschiedene Imagebuttons, die jeweils einen verschiedenen Wert übergeben: "neu", "del" und "edit":

<form name="eventsend" action="scripte/eventsend.php" enctype="multipart/form-data" method="post">
[...]
<input name="button1" value="neu" type="image" src="/gfx/new.jpg">
<input name="button1" value="del" type="image" src="/gfx/tonne.jpg">
<input name="button1" value="edit" type="image">
</form>
[...]

Mit dem Firevox läuft alles wunderbärchen.
Wenn ich die "$button1"-Variable in der eventsend.php ausgeben lasse, meint der IE, dass da nix drin steht.

übersehe ich das jetzt irgendetwas, oder ist das einfach nur so ...

Danke für Antworten

Björn

  1. Hallo,

    Wenn ich die "$button1"-Variable in der eventsend.php ausgeben lasse, meint der IE, dass da nix drin steht.

    Das steht doch in SelfHTML:
    http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische
      "[...] Der IE sendet nur die Koordinaten."

    Also: Pech für Dich! :-(

    Und übrigens: In PHP solltest Du die Variable mit $_POST["button1"] ansprechen,
    nicht mit $button1.
    (Die erste Schreibweise funktioniert - ab PHP 4.1.0 - immer, die Zweite
    ist veraltet und funktioniert nur, wenn register_globals=on ist, was bei
    neueren PHP-Versionen nicht mehr standardmässig der Fall ist.)

    Gruss, Thomas

    1. Also irgendwie schnalle ich das jetzt nicht.
      Mit dem Beispiel, der unter Deinem Link zu finden ist, klappt alles einwandfrei, auch mit dem IE. Also muss das doch gehen.
      Wo ist denn da bei mir der Fehler?

      Gruß Björn

      1. Grüße,

        Wo ist denn da bei mir der Fehler?

        meine glaskugel deutet auf die art der abfrage, die die IE-spezifische daten nicht berücksichtigt, hin.

        MFG
        bleicher

        --
        __________________________-
        Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
        http://www.sexgott-or-not.com/?test=428054
        1. Okay, nochmal ganz von vorne.

          Es muss doch möglich sein, drei Imagebuttons darzusellen, die alle die gleiche Seite aufrufen, also in ein und dem selben <form-Tag> sind UND ich bei der ziel.php (die von den Imagebuttons aufgerufen wird) weiß, auf welchen Button gedrückt wurde.

          Wie mache ich denn das?

          1. (die von den Imagebuttons aufgerufen wird)

            Mal ne blöde Frage .... wo wird über die Buttons irgendwas aufgerufen?

            1. (die von den Imagebuttons aufgerufen wird)

              Mal ne blöde Frage .... wo wird über die Buttons irgendwas aufgerufen?

              hä?

              <form name="eventsend" action="scripte/eventsend.php" enctype="multipart/form-data" method="post">
              [...]
              <input name="button1" value="neu" type="image" src="/gfx/new.jpg">
              <input name="button1" value="del" type="image" src="/gfx/tonne.jpg">
              <input name="button1" value="edit" type="image">
              </form>
              [...]

              Also ich habe es so gelernt. Nach meinem Kenntnisstand, sollte bei obigen Beispiel die scripte/eventsend.php aufgerufen werden, sobald man auf einen der drei buttons klickt. Der Firefox macht das auch wunderherrlich.
              Ich will das gleich aber auch mit dem IE machen können. Das muss doch machbar sein.
              Wenn Ihr da mehr Kenntnisse habt, als ich, würde ich sehr gerne Euer Wissen mit mir teilen ;)

              Immer her mit den Schlauen Ideen...

              1. Immer her mit den Schlauen Ideen...

                Wer hat es dir denn so gelernt? Also ich hab gelernt, dass zum Absenden ein type=submit nötig ist oder über einen Event-Handler eine entsprechende Javascript-Funktion.

                Du hast nichts von dem und somit kanns nicht funktionieren. Lies nochmal in Selfhtml nach:

                http://de.selfhtml.org/html/formulare/klickbuttons.htm
                http://de.selfhtml.org/html/formulare/formularbuttons.htm#herkoemmlich

                1. Hi,

                  Also ich hab gelernt, dass zum Absenden ein type=submit nötig ist oder über einen Event-Handler eine entsprechende Javascript-Funktion.

                  Das ist falsch.
                  Auch ein input type="image" dient zum Absenden.

                  Du hast nichts von dem und somit kanns nicht funktionieren. Lies nochmal in Selfhtml nach:

                  Das solltest Du selbst tun.
                  Und zwar auf der zweiten der von Dir genannten Seiten

                  http://de.selfhtml.org/html/formulare/formularbuttons.htm#herkoemmlich

                  einfach den folgenden Abschnitt http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische nicht ignorieren.

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. Also viel weiter gekommen bin ich jetzt nicht mit meiner Problemlösung.
                    Das interessanteste war folgender Link:

                    http://de.selfhtml.org/html/formulare/formularbuttons.htm#grafische

                    Bei dem Beispiel kann man einen Text eingeben, der nach einem klickt auf einen Image-Button, eine neue Seite aufruft, in der neben den eingegebenen Text auch die Koordinaten des Mauscoursers ausgegeben werden.

                    Da mir hier offensichtlich keiner bei meinem Problem helfen kann, habe ich jetzt die Idee, das ich einfach die Koordinaten auswerte und dann so interpretieren kann, auf welchen Button gedrückt wurde. Da stellt sich dann jedoch die frage, wie erhalte ich die Koordinaten auf der zweiten Seite?

                    Kann mir das einer sagen?

                    also: ( $y= ???; $x= ???; )

                    Gruß Björn

                    1. Hi,

                      Da mir hier offensichtlich keiner bei meinem Problem helfen kann, habe ich jetzt die Idee, das ich einfach die Koordinaten auswerte und dann so interpretieren kann, auf welchen Button gedrückt wurde. Da stellt sich dann jedoch die frage, wie erhalte ich die Koordinaten auf der zweiten Seite?

                      Kann mir das einer sagen?

                      Was hält Dich eigentlich davon ab, Dir mal $_GET bzw. $_POST per print_r oder ähnlichem auszugeben, welche Parameter mit welchen Werten übergeben werden?
                      Muß man Dir alles vorkauen?

                      cu,
                      Andreas

                      --
                      Warum nennt sich Andreas hier MudGuard?
                      O o ostern ...
                      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  2. Das solltest Du selbst tun.
                    Und zwar auf der zweiten der von Dir genannten Seiten

                    Ja, da hab ich den ersten Satz überlesen. Vermutlich auch deshalb, weil ich lieber <button /> verwende, da flexibler. ;)

                    1. Hi,

                      Ja, da hab ich den ersten Satz überlesen. Vermutlich auch deshalb, weil ich lieber <button /> verwende, da flexibler. ;)

                      Aber mit button kann der IE nicht vernünftig umgehen.

                      cu,
                      Andreas

                      --
                      Warum nennt sich Andreas hier MudGuard?
                      O o ostern ...
                      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                      1. Aber mit button kann der IE nicht vernünftig umgehen.

                        Mit was kann er denn das? SCNR
                        Ne, mal im Ernst, bei einfachen Buttons sind mir bei meinen Anwendungen keine Probleme bekannt. Aber ich werd mir das nochmal ansehen.

                        1. Hi,

                          Ne, mal im Ernst, bei einfachen Buttons sind mir bei meinen Anwendungen keine Probleme bekannt. Aber ich werd mir das nochmal ansehen.

                          Statt name-value wird name-content übertragen, bei mehreren button type="submit" werden alle übertragen statt nur der benutzte ...

                          cu,
                          Andreas

                          --
                          Warum nennt sich Andreas hier MudGuard?
                          O o ostern ...
                          Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                          1. Statt name-value wird name-content übertragen, bei mehreren button type="submit" werden alle übertragen statt nur der benutzte ...

                            Gut zu wissen das.
                            Jetzt weiss ich auch, wieso ich damit nie Probleme hatte.
                            Beim Submitbutton ist mir value immer egal gewesen und ich habe nur immer genau einen Submit ;)

          2. Hi,

            Es muss doch möglich sein, drei Imagebuttons darzusellen, die alle die gleiche Seite aufrufen, also in ein und dem selben <form-Tag> sind UND ich bei der ziel.php (die von den Imagebuttons aufgerufen wird) weiß, auf welchen Button gedrückt wurde.

            Ist es auch. Ganz einfach. Gib ihnen unterschiedliche Namen.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      2. Hallo,

        Mit dem Beispiel, der unter Deinem Link zu finden ist, klappt alles einwandfrei, auch mit dem IE. Also muss das doch gehen.

        Also, falls Du dieses Beispiel meinst:
        http://de.selfhtml.org/html/formulare/anzeige/input_image.htm
        Dort sieht der Absende-Button wie folgt aus:
        <input type="image" src="absende.gif" alt="Absenden">
        Also weder name- noch value-Attribut.
        Somit wird auch nichts dergleichen übertragen, weder im Firefox noch im IE.
        Nur die Koordinaten werden (in beiden Browsern) übertragen,
        aber die helfen Dir bei Deinem Problem ja nicht weiter...

        Probier es mal mit folgendem kurzem Code aus:

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
               "http://www.w3.org/TR/html4/loose.dtd">  
        <html>  
        <head>  
        <title>Test mit grafischem Button</title>  
        </head>  
        <body>  
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">  
              Text:  
              <input name="eingabe" type="text" size="30" maxlength="30"><br>  
              <input type="image" src="abschicken1.gif" name="knopf" value="knopf-nr1" alt="Absenden">  
              <input type="image" src="abschicken2.gif" name="knopf" value="knopf-nr2" alt="Absenden">  
        </form>
        
        <?php  
        if (isset($_GET['eingabe']))  
         {  
          echo "<hr>\n";  
          echo "<pre>\n";  
          print_r($_GET);  
          echo "</pre>\n";  
         }  
        ?>
        
        </body>  
        </html>
        

        Dann siehst Du (dank GET) schon gleich in der Adresszeile,
        und dann auch in der Ausgabe des Scripts, dass der MS IE
        (ich habe 6.0) in der Tat nur die Koordinaten mitgibt,
        nicht aber das name-value-Paar, das Du möchtest.

        mfg Thomas