steckl: <button> oder <input>

Hallo,

ich habe ein Login Forumular mit einem Button, in dem sich Eine Grafik und ein Text befinden.

momentan sieht der Code fuer den Button so aus:

  
<button style="height:21;" onClick="document.LOGIN_FORM.submit()" tabindex="3">  
  <img src="$custIconUrl/login.gif" align="top" border="0" width="16" height="12">&nbsp;Login  
</button>  

Jetzt wuerde mich interessieren ob ich auch in einen <input type="submit" ...> eine Grafik zusammen mit Text einfuegen kann, da der alte Netscape(4) das <button>-tag nicht unterstuetzt und das formular hier dadurch garnicht abgeschickt werden kann. Dadurch koennte ich mir dann auch das Javascript bei onClick sparen.

Ausserdem hat mich verwundert, dass der Button im Firefox(1.5) das Formular auch ohne den onClick-event abschickt, im IE(6) hingegen nicht.

mfG,
steckl

  1. Hallo steckl,

    Jetzt wuerde mich interessieren ob ich auch in einen <input type="submit" ...> eine Grafik zusammen mit Text einfuegen kann, da der alte Netscape(4) das <button>-tag nicht unterstuetzt und das formular hier dadurch garnicht abgeschickt werden kann. Dadurch koennte ich mir dann auch das Javascript bei onClick sparen.

    Nimm lieber - ob button oder input ist egal, das geht bei beiden - type="submit", dann lässt sich das Formular auch ohne JavaScript abschicken. Und Browser ohne JavaScript gibt es weit mehr als Netscape 4. Vergiss den, den hat heut keiner mehr.
    Du kannst dem input ein Bild als Hintergrundbild geben. Aber der button sollte eigentlich in halbwegs modernen Browsern kein Problem darstellen.

    Viele Grüße aus Freiburg,
    Marian

    --
    Microsoft broke Volkswagen's world record: Volkswagen made only 22 million bugs!
    <!--[if IE]><meta http-equiv="refresh" content="0; URL=http://www.getfirefox.com"><[endif]-->
    1. hi,

      Nimm lieber - ob button oder input ist egal, das geht bei beiden - type="submit", dann lässt sich das Formular auch ohne JavaScript abschicken. Und Browser ohne JavaScript gibt es weit mehr als Netscape 4. Vergiss den, den hat heut keiner mehr.

      Herzlichen Dank nach Freiburg, ich wusste nur nicht, dass ein Button auch das type-Attribut hat.

      Auf die Loesung fuer den alten Netscape werde ich dann wohl verzichten.

      schoenen tag noch,
      steckl

      1. echo $begrüßung;

        Du kannst auch "Grafische Buttons zum Absenden definieren". Dazu müsstest du nur den Text in das Bild integrieren.
        Beachte bitte auch den nachfolgenden Abschnitt, besonders das was zum IE und <button>s gesagt wird.

        echo "$verabschiedung $name";

        1. hi,

          Du kannst auch "Grafische Buttons zum Absenden definieren". Dazu müsstest du nur den Text in das Bild integrieren.

          Naja, ich möchte schon lieber bei so einem schönen Klick-button bleiben ;)

          Beachte bitte auch den nachfolgenden Abschnitt, besonders das was zum IE und <button>s gesagt wird.

          danke für den hinweis, aber den übergabewert werte ich eh nicht aus.

          schönen abend noch,
          steckl

  2. Hi,

    <button style="height:21;" onClick="document.LOGIN_FORM.submit()" tabindex="3">

    ^^^^
    dein Button ist 21 Scheiben Salami hoch?
    Nein? 21 Kieselsteine?

    Was ich damit sagen will: CSS-Größenangaben brauchen immer eine Einheit - außer beim Wert 0, da 0kg genauso wenig (nämlich nichts) ist wie 0px. Allerdings schadet es nichts, der Ordnung halber selbst bei 0 eine Einheit anzugeben.

    [...] Dadurch koennte ich mir dann auch das Javascript bei onClick sparen.

    Was ich dir dringend empfehlen möchte, da sonst Clients ohne Javascript keine Chance haben, dein Formular abzusenden.

    Ausserdem hat mich verwundert, dass der Button im Firefox(1.5) das Formular auch ohne den onClick-event abschickt, im IE(6) hingegen nicht.

    Das ist eigenartig - nimmt der für ein fehlendes type-Attribut implizit type="submit" an?

    Ciao,
     Martin

    --
    Der Stress von heute ist die gute alte Zeit von morgen.
    1. Hi,

      <button style="height:21;" onClick="document.LOGIN_FORM.submit()" tabindex="3">
                              ^^^^
      dein Button ist 21 Scheiben Salami hoch?
      Nein? 21 Kieselsteine?

      Danke für den Hinweis, das werde ich gleich mal abändern.

      mfG,
      steckl

    2. Hi,

      Ausserdem hat mich verwundert, dass der Button im Firefox(1.5) das Formular auch ohne den onClick-event abschickt, im IE(6) hingegen nicht.
      Das ist eigenartig -

      Nein, ganz und gar nicht.
      Daß der IE button-Elemente nicht richtig verarbeitet, ist bekannt (es werden bei mehreren button-Elementen vom typ submit immer alle name-value-Pärchen übermittelt, nicht nur der tatsächlich benutzte usw.)

      nimmt der für ein fehlendes type-Attribut implizit type="submit" an?

      Natürlich. Jede andere Annahme wäre ein Verstoß gegen den HTML-Standard. "submit" ist der default-Wert für das type-Attribut von button-Elementen.
      Siehe http://www.w3.org/TR/html401/interact/forms.html#edef-BUTTON, wo es heißt:

      type   (button|submit|reset)  submit -- for use as form button --

      Das type-Attribut hat also 3 mögliche Werte "button", "submit" und "reset", wobei "submit" der Default-Wert ist.

      cu,
      Andreas

      --
      Warum nennt sich Andreas hier MudGuard?
      Schreinerei Waechter
      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.