Tolwin: Input Type="button"

Hallo Zusammen,
ich hab ein - denke mal - kleines Problem dessen Lösung
mir nicht einfallen will. Ein Skript erstellt eine Liste
mit Informationen. Am Anfang des Skriptes habe ich 6 Buttons
angelegt die zu deren Sortierung dienen sollen.

Der Code sieht wie folgt aus:

<form name="sortForm" action="<?php $PHP_SELF ?>" method="POST">
<input type="button" name="cat_select" value="1" onclick="sort_submit()">
<input type="button" name="cat_select" value="2" onclick="sort_submit()">
<input type="button" name="cat_select" value="3" onclick="sort_submit()">
<input type="button" name="cat_select" value="4" onclick="sort_submit()">
<input type="button" name="cat_select" value="5" onclick="sort_submit()">
<input type="button" name="cat_select" value="6" onclick="sort_submit()">
</form>

Ich möchte nun bei der Auswahl eines Buttons - beispielsweise 4 -
den value 4 an das Skript übermitteln (ist ein PHP Skript dass sich selbst aufruft). Leider kommt der Wert nicht an. Kann mir jemand sagen woran dies liegt? submit() ist übrigens ein kleines JavaScript das sortForm submitted.

Vielen Dank!

  1. hi,

    Ich möchte nun bei der Auswahl eines Buttons - beispielsweise 4 -
    den value 4 an das Skript übermitteln (ist ein PHP Skript dass sich selbst aufruft). Leider kommt der Wert nicht an.

    • was du _wie_ verifiziert hast?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Ich versuche mir die Variable $cat_select im Skript ausgebene.

      1. hi,

        Ich versuche mir die Variable $cat_select im Skript ausgebene.

        tja, das _soll_ auch in einer aktuellen PHP-version so gar nicht mehr funktionieren.

        register_globals ist dein stichwort, beschäftige dich mit http://www.php.net/manual/de/language.variables.predefined.php

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. register_globals ist bei mir "on", das weiss ich ziemlich genau.
          Kann es am type="button" liegen???

          1. Hi,

            register_globals ist bei mir "on", das weiss ich ziemlich genau.

            dieses schwerwiegende Problem solltest Du _dringend_ beheben.

            Kann es am type="button" liegen???

            Siehe Axels Antwort.

            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. Hallo,

    <form name="sortForm" action="<?php $PHP_SELF ?>" method="POST">
    <input type="button" name="cat_select" value="1" onclick="sort_submit()">

    ...

    Ich möchte nun bei der Auswahl eines Buttons - beispielsweise 4 -
    den value 4 an das Skript übermitteln (ist ein PHP Skript dass sich selbst aufruft). Leider kommt der Wert nicht an.

    Ja, ein INPUT vom Type BUTTON wird nicht submited. Wie auch? So etwas ist für die clientseitige Scriptverarbetung gedacht. Du kannst allerdings mehrere INPUT-Elemente von Typ SUBMIT haben.

    viele Grüße

    Axel

  3. Hi,

    <form name="sortForm" action="<?php $PHP_SELF ?>" method="POST">
    <input type="button" name="cat_select" value="1" onclick="sort_submit()">
    <input type="button" name="cat_select" value="2" onclick="sort_submit()">
    <input type="button" name="cat_select" value="3" onclick="sort_submit()">
    <input type="button" name="cat_select" value="4" onclick="sort_submit()">
    <input type="button" name="cat_select" value="5" onclick="sort_submit()">
    <input type="button" name="cat_select" value="6" onclick="sort_submit()">
    </form>

    Ich möchte nun bei der Auswahl eines Buttons - beispielsweise 4 -
    den value 4 an das Skript übermitteln

    Dann tu das doch. Obiger Code enthält nichts, was für die Übergabe (nur) des geklickten Buttons sorgen würde.

    Im HTML-Standard steht zu input type="button" nichts drin - weder ob diese "successful" sind noch daß diese nicht "successful" wären.
    http://www.w3.org/TR/html401/interact/forms.html#successful-controls, es steht explizit nur was zu type="submit" und type="reset" drin.

    Es wäre also zulässig, daß ein Browser alle name-value-Pärchen von <input type="button"> innerhalb der Form übermittelt (es also genauso behandelt wie ein input type="text").
    In diesem Fall wäre keine Unterscheidung möglich.

    Man könnte aber auch http://www.w3.org/TR/html401/interact/forms.html#h-17.2.1 "push buttons: Push buttons have no default behavior. " so interpretieren, daß eben nichts übermittelt wird. In diesem Fall würde kein name-value-Pärchen eines <input type="button"> übertragen - es wäre wieder keine Unterscheidung möglich.

    Afaik überträgt kein Browser die name-value-Pärchen von <input type="button">

    Es wird jedenfalls nicht ausgesagt, daß ein <input type="button">, der über irgendwelche event-Handler und ein Script zufällig zum Submit führt, anders behandelt werden sollte als die anderen <input type="button">.

    Bei Submit-Buttons (<input type="submit"> sieht das anders aus - hier darf nur das name-value-Pärchen des tatsächlich benutzten Buttons übertragen werden.

    cu,
    Andreas

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