HolgerB: Input Type Image Problem bei 2 Buttons

Hi,
hab folgendes Problem.
Ich habe in einem Forum vor der Registrierung einen Disclaimer den man Akzeptieren oder Ablehnen kann. Nun wollte ich die beiden Buttons als Grafik darstellen.

Der Originalcode schaut so aus

  
<tr>  
	<form name="terms" method="post" action="include.php?path=login/register.php">  
  <td class="heads" align="center">  
	<input type="submit" name="action" value="$lang[accept]" />  
	<input type="hidden" name="accept" value="$lang[accept]" />  
	<input type="submit" name="action" value="$lang[refuse]" />  
	<input type="hidden" name="refuse" value="$lang[refuse]" /></td>  
	</form>  
 </tr>

Und meiner mit Grafiken so

  
<tr>  
    <form name="terms" method="post" action="include.php?path=login/register.php">  
    <td class="tda2">  
<input style="border:0" type="image" src="$style[style_images]/input/accept.gif" name="action" value="$lang[accept]" />  
<input type="hidden" name="accept" value="$lang[accept]" />  
<input style="border:0" type="image" src="$style[style_images]/input/refuse.gif" name="action" value="$lang[refuse]" />  
<input type="hidden" name="refuse" value="$lang[refuse]" /></td>  
    </form>  
  </tr>

Leider funkt das nicht.
Wenn ich einen der beiden Buttons drücke wird die Seite einfach neu geladen.
Normalerweise sollte bei Akzeptieren ein anderes Template aufgerufen werden wo man seine Daten eingibt, und bei Abbrechen sollte man wieder zur Startseite geleitet werden.

Ich hab nun schon bei Google nach Lösungen gesucht und auch hier auf der Seite, weitergebracht hat mich aber nichts.

Vielleicht kann mir hier einer helfen.

  1. Hallo,

    Der Originalcode schaut so aus

    <tr>

    <form name="terms" method="post" action="include.php?path=login/register.php">
      <td class="heads" align="center">
    <input type="submit" name="action" value="$lang[accept]" />
    <input type="hidden" name="accept" value="$lang[accept]" />
    <input type="submit" name="action" value="$lang[refuse]" />
    <input type="hidden" name="refuse" value="$lang[refuse]" /></td>
    </form>
    </tr>

      
    und dieser Code ist falsch: tr darf als Kindelemente nur td oder th haben, aber kein form. Das Formular muss entweder vollständig \*innerhalb der Zelle\* liegen, oder vollständig \*die Tabelle umschließen\*. Erfahrungsgemäß sind die gängigen Browser aber kulant genug, diese Struktur zu korrigieren.  
      
    
    > <input style="border:0" type="image" src="$style[style\_images]/input/accept.gif" name="action" value="$lang[accept]" />  
    > <input type="hidden" name="accept" value="$lang[accept]" />  
    > <input style="border:0" type="image" src="$style[style\_images]/input/refuse.gif" name="action" value="$lang[refuse]" />  
    > <input type="hidden" name="refuse" value="$lang[refuse]" />  
      
    
    > Leider funkt das nicht.  
    > Wenn ich einen der beiden Buttons drücke wird die Seite einfach neu geladen.  
      
    Nein. Das Formular wird abgeschickt. Vielleicht werden nicht die Parameter gesendet, die du erwartest. Beachte, dass die Parameter-Namen bei image-Buttons etwas anders heißen. Lass dir am besten mal den gesamten Inhalt des $\_POST-Arrays anzeigen.  
      
    Nebenbei bemerkt: Wenn du dein Problem schon im Themenbereich HTML/XHTML einordnest, solltest du bitte auch den HTML-Code zeigen, den der Client bekommt, und nicht den serverseitigen PHP-Code.  
      
    So long,  
     Martin  
    
    -- 
    Besteht ein Personalrat aus nur einer Person, erübrigt sich die Trennung nach Geschlechtern.  
      (aus einer Info des deutschen Lehrerverbands Hessen)  
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    
    1. Tach!

      Nein. Das Formular wird abgeschickt. Vielleicht werden nicht die Parameter gesendet, die du erwartest. Beachte, dass die Parameter-Namen bei image-Buttons etwas anders heißen. Lass dir am besten mal den gesamten Inhalt des $_POST-Arrays anzeigen.

      Und bitte in allen potentiellen Ziel-Browsern testen, einige fügen mehr Werte hinzu als die Spezifikation fordert. Nicht dass die Auswertung auf einem dieser Werte basiert, die nicht überall mitkommen.

      dedlfix.

      1. Tach!

        Nein. Das Formular wird abgeschickt. Vielleicht werden nicht die Parameter gesendet, die du erwartest. Beachte, dass die Parameter-Namen bei image-Buttons etwas anders heißen. Lass dir am besten mal den gesamten Inhalt des $_POST-Arrays anzeigen.

        Und bitte in allen potentiellen Ziel-Browsern testen, einige fügen mehr Werte hinzu als die Spezifikation fordert. Nicht dass die Auswertung auf einem dieser Werte basiert, die nicht überall mitkommen.

        dedlfix.

        Hi dedlfix und Der Martin.

        Ich trau es mir ja fast nicht zu sagen aber habe keinen Schimmer wie ich mir den Inhalt anzeigen lassen kann. Selbst wenn da was abgesendet wird verbleib ich weiterhin auf der falschen Seite und so sachkundig das sich mir da selbst jetzt irgendwas baue bin ich dann doch leider nicht.

        Sorry für den falschen Themenbereich.

        1. Om nah hoo pez nyeetz, HolgerB!

          Ich trau es mir ja fast nicht zu sagen aber habe keinen Schimmer wie ich mir den Inhalt anzeigen lassen kann.

          Füge in dein PHP-Script an der entsprechenden Stelle print_r ($_POST) ein.

          Matthias

          --
          1/z ist kein Blatt Papier.

  2. @@HolgerB:

    nuqneH

    Nun wollte ich die beiden Buttons als Grafik darstellen.

    Gibt es einen sinnvollen Grund, warum du für Buttons 'input'-Elemente verwendest anstatt 'button'-Elemente?

    'button'-Elemente können 'img' als Inhalt haben, oder du verwendest image replacement (oder so).

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. @@HolgerB:

      nuqneH

      Nun wollte ich die beiden Buttons als Grafik darstellen.

      Gibt es einen sinnvollen Grund, warum du für Buttons 'input'-Elemente verwendest anstatt 'button'-Elemente?

      'button'-Elemente können 'img' als Inhalt haben, oder du verwendest image replacement (oder so).

      Qapla'

      Hi Gunnar,

      die Button Elemente hatte ich getestet, sah aber im IE beschissen aus. Da die Hintergrundgrafik ganz nach oben an den Button gesetzt wurde. Keine Ahnung ob man das irgendwie einstellen kann das der Button mittig ausgerichtet wird.

      1. Om nah hoo pez nyeetz, HolgerB!

        die Button Elemente hatte ich getestet, sah aber im IE beschissen aus. Da die Hintergrundgrafik ganz nach oben an den Button gesetzt wurde. Keine Ahnung ob man das irgendwie einstellen kann das der Button mittig ausgerichtet wird.

        zitiere bitte sinnvoll, nur das, worauf du dich konkret beziehst. Danke.

        Hintergründe im Wiki

        Matthias

        --
        1/z ist kein Blatt Papier.