pedro: Zwei Variablen per submit übergeben

Hallo Allerseits,

ich habe folgendes Problem:

Ich habe in einer Form zwei DropDown-Felder unterschiedlichen Inhalts. Sobald der User den Submit-Button klickt, werden die gewählten Werte der Dropdownfelder an ein PHP-Script weitergeleitet. Der User kann die Auswahl mehrmals durchführen .Das funzt ohne Probleme.

Nun möchte ich aber feststellen, in welchem der beiden Dropdown-Felder Änderungen zur vorhergehenden Auswahl Änderungen durchgeführt wurden. Also nach dem Motto: Wenn Änderung in Liste1 sende zusätzliche Info "Liste1", wenn Änderung in Liste2 sende Info "Liste2", sonst sende keine zusätzliche Info.

Wer weiß eine Lösung

  1. Das ist doch ganz einfach! :o)

    Mach doch einfach eine onChange-Funktion auf die Auswahllisten, die den Value eines Hidden-Fields verändert.

    Also etwa so:

    function ChangeListe1()
    {
       document.FORM.liste1change.value="irgendwas";
    }

    <input type=hidden name="liste1change" value="false">

    Ich denke mal das ist das, was Du erreichen wolltest oder?

    Gruss,
    CS

    1. Das ist doch ganz einfach! :o)

      Also etwa so:

      function ChangeListe1()
      {
         document.FORM.liste1change.value="irgendwas";
      }

      <input type=hidden name="liste1change" value="false">

      Ich denke mal das ist das, was Du erreichen wolltest oder?

      Gruss,
      CS

      Hi CaptainSolo,

      so ähnlich hab ich das schon probiert. Ich habe für jede DropDown-Liste ein hidden-text-Feld erstellt, das jeweils denselben name-Eintrag, aber einen unterschiedlichen value-Eintrag hat. Dabei überschreibt aber das zweite Feld den Eintrag des ersten:

      <input type="hidden" name="aktfield" value="Liste1">
       <input type="hidden" name="aktfield" value="Liste2">

      Dabei bekomm ich dann in PHP immer "Liste2" zurück.

      Gruß

      pedro

      1. Mosche

        <input type="hidden" name="aktfield" value="Liste1">
        <input type="hidden" name="aktfield" value="Liste2">

        Dabei bekomm ich dann in PHP immer "Liste2" zurück.

        Nimm doch zwei unterschiedliche Namen...

        Tschö Matti

        1. Mosche

          <input type="hidden" name="aktfield" value="Liste1">
          <input type="hidden" name="aktfield" value="Liste2">

          Dabei bekomm ich dann in PHP immer "Liste2" zurück.
          Nimm doch zwei unterschiedliche Namen...

          Tschö Matti

          Hi Matti,

          bringt leider nix! Wenn ich zwei Felder mit unterschiedlichen Namen benutze, sind bei der Auswertung im PHP-Script beide Variablen - also "aktfield1" und "aktfield2" gefüllt!

          <input type="hidden" name="aktfield1" value="Liste1">
            <input type="hidden" name="aktfield2" value="Liste2">

          So kann ich wieder nicht feststellen, welche Dropdownliste vom User gewählt wurde.

          1. Mosche

            bringt leider nix! Wenn ich zwei Felder mit unterschiedlichen Namen benutze, sind bei der Auswertung im PHP-Script beide Variablen - also "aktfield1" und "aktfield2" gefüllt!

            <input type="hidden" name="aktfield1" value="Liste1">
              <input type="hidden" name="aktfield2" value="Liste2">

            So kann ich wieder nicht feststellen, welche Dropdownliste vom User gewählt wurde.

            <input type="hidden" name="last_change">
            <select name="aktfield1" onChange="javascript:document.forms[0].last_change.value=this.name">
            ...
            </select>

            <select name="aktfield2" onChange="javascript:document.forms[0].last_change.value=this.name">
            ...
            </select>

            Oder so ähnlich. War das jetzt so schwer?

            Tschö Matti

            1. ...

              Oder so ähnlich. War das jetzt so schwer?

              Tschö Matti

              SUPEROBERAFFEN*FINDICHECHTSTARK

              Juhuuuu!

              :-)))))))))))))))))))))))))))))

              Danke für die Hilfe!

              Cu
              pedro

              1. Moin!

                SUPEROBERAFFEN*FINDICHECHTSTARK

                Juhuuuu!

                :-)))))))))))))))))))))))))))))

                Danke für die Hilfe!

                Tja, du wirst wiederkommen, wenn das erste Formular von einem Browser abgeschickt wurde, welcher KEIN Javascript kann.

                Deshalb: Wenn du den aktuellen Inhalt der Listenauswahl (den du im PHP-Skript ja irgendwo her haben mußt) in ein Hidden-Feld speicherst (für jede Liste also noch ein Extrafeld) und im verarbeitenden Skript prüfst, welche Listenwahl sich vom Hidden-Feld unterscheidet, dann hast du auch deine Erkennung - und zwar browserunabhängig!

                Außerdem solltest du berücksichtigen: Man kann auch in beiden Listen gleichzeitig was ändern. :) Und diesen Fall kriegst du mit dem vorliegenden Javascript nicht mit.

                - Sven Rautenberg