Björn: Input Type=Image Button - funktioniert nicht

Hallo Leute,

ich habe folgendes (gekürztes) Skript:

<form method="post" action="index.php?id=23&amp;backPID=23" name="basketform">
     <input type="image" src="but_weiter.gif" alt="weiter" value="weiter" name="products_info" onclick="document.getElementsByName('basketform')[0].action='index.php?id=23&amp;backPID=23';" class="button" />
</form>

Kann mir jemand einen Tipp geben, warum das Formular nicht abgesendet
wird?

Grüße
Björn

  1. Update:

    Im Firefox funktioniert dieser Code, dagegen im IE nicht:

    <input type="image" src="fileadmin/templates/images/ng_products/but_weiter.gif" alt="weiter" value="weiter" name="products_info" onClick="document.getElementsByName('basketform')[0].action='###FORM_URL_INFO###';this.form.submit();" class="button" />

    Ich habe this.form.submit(); ergänzt.

    Grüße
    Björn

    1. hi,

      Im Firefox funktioniert dieser Code, dagegen im IE nicht:

      Gibt es JS-Fehlermeldungen?

      onClick="document.getElementsByName('basketform')[0].action='###FORM_URL_INFO###';this.form.submit();"

      Ich habe this.form.submit(); ergänzt.

      Warum greifst du einmal derart umständlich auf das Formular zu - wenn du im zweiten Falle doch siehst, dass es auch viel einfacher geht?

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. Hallo,

        Gibt es JS-Fehlermeldungen?

        Nein,es kommt keine Fehlermeldung. Ich sollte vielleicht erwähnen, dass  bei Klick die aktuelle Seite quasi aktualisiert, also wieder geladen wird. Es geht nicht weiter auf die nächste Seite. Das Ganze ist sehr sehr merkwürdig. Es handelt sich hier um tt_products (also um eine Shop-Extention von Typo3. Das Formular ist so vorgegeben. Wenn ich den Button als submit lasse, funktioniert es ja. Ich weiß nicht, warum die Entwickler der Extention einen so komplizierten Zugriff herstellen.

        Grüße
        Björn

        1. hi,

          Ich sollte vielleicht erwähnen, dass  bei Klick die aktuelle Seite quasi aktualisiert, also wieder geladen wird. Es geht nicht weiter auf die nächste Seite. Das Ganze ist sehr sehr merkwürdig. Es handelt sich hier um tt_products (also um eine Shop-Extention von Typo3. Das Formular ist so vorgegeben.

          Kann man das mal irgendwo komplett online betrachten?

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Ich weiß jetzt, worauf es ankommt. Der Weiter Button hat den Namen name="products_info". Dieser Name muss mit übermittelt werden. Wie gesagt, mit dem derzeitigen submit Button klappt es. Ich habe mal den Namen in name=""products_info_2" geändert und siehe, es klappt nicht. Also ist die Übermittlung des Namens essentiell.

        Wie kann ich nun den Namen mit einem input type="image" übermitteln?

        Grüße
        Björn

        1. hi,

          Ich weiß jetzt, worauf es ankommt. Der Weiter Button hat den Namen name="products_info". Dieser Name muss mit übermittelt werden. Wie gesagt, mit dem derzeitigen submit Button klappt es. Ich habe mal den Namen in name=""products_info_2" geändert und siehe, es klappt nicht. Also ist die Übermittlung des Namens essentiell.

          Wie kann ich nun den Namen mit einem input type="image" übermitteln?

          Bei einem Input type="image" werden die Klick-Koordinaten übermittelt, und zwar als name.x = 47 und name.y = 11.

          Wenn du die Möglichkeit hast, dein verarbeitenden Script derart anzupassen, dass es nicht nach "name" in den POST-Daten sucht, sondern nach "name.x" (bzw. "name_y" bspw. in PHP), dann könntest du das Problem auf diese Weise lösen.

          Wenn das nicht geht, könntest du ein verstecktes Formularfeld mit dem gleichen Namen (und ggf. Value) ins Formular einbauen - der würde dann allerdings _immer_ übertragen beim abschicken des Formulars, eine Unterscheidung zwischen mehreren Absendebuttons würde damit problematisch bis unmöglich.

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. hallo  wahsaga,
            leider kann ich dir die Seite nich zur Verfügung stellen. Da hätte mein Chef was dagegen :-)

            Mit dem hidden field kann ich auch nicht machen. Ich habe es in der Form versucht: <input type="hidden" name="name" value="products_info" />. Das klappt nicht.

            Ich werde mich wohl an die PHP-Lösung setzen müssen.

            Danke für deine Hilfe.

            Grüße
            Björn

            1. hi,

              Mit dem hidden field kann ich auch nicht machen. Ich habe es in der Form versucht: <input type="hidden" name="name" value="products_info" />. Das klappt nicht.

              Zitat du:

              Der Weiter Button hat den Namen name="products_info".

              gruß,
              wahsaga

              --
              /voodoo.css:
              #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. hi,

    <form method="post" action="index.php?id=23&amp;backPID=23" name="basketform">

    Du hast doch hier die action schon drinstehen -

    <input type="image" src="but_weiter.gif" alt="weiter" value="weiter" name="products_info" onclick="document.getElementsByName('basketform')[0].action='index.php?id=23&amp;backPID=23';" class="button" />

    also warum versuchst du hier die gleiche action erneut zuzuweisen?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }