Elegantere Methode bei Form-Auswahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Elegantere Methode bei Form-Auswahl

    Hallo,

    ich würde den Usern gerne eine elegantere Methode anbieten, aus einem Dropdown-Feld eine Option auszuwählen. Momentan müssen sie Ihre Auswahl mit einem OK Button bestätigen, es wird die Seite neu geladen und der Option-Wert in die Variable übergeben:

    PHP-Code:
    <form name="Auswahl" ACTION="emailform.php" METHOD="POST">
             <select size="1" name="art">
              <option value="">Bitte Auswahl treffen...</option>
              <option value="Office 2003"><?php echo $office?></option>
              <option value="Servicetechniker Grundlage"><?php echo $servicetechniker1?></option>
              <option value="Servicetechniker Aufbau"><?php echo $servicetechniker2?></option>
              <option value="Vertriebsleiter Grundlage"><?php echo $vertriebsleiter1?></option>
              <option value="Vertriebsleiter Aufbau"><?php echo $vertriebsleiter2?></option>
              <option value="Serviceleiter Grundlage"><?php echo $serviceleiter1?></option>
              <option value="Serviceleiter Aufbau"><?php echo $serviceleiter2?></option>
           </select><input type="submit" value="OK">
    </form>
    ich würde das gerne "dynamisch" gestalten, also diesen OK Button wegfallen lassen. Könnt ihr mir mal auf die Sprünge helfen?

    gruß

  • #2
    du kannst in die options tags ein "onClick" einbauen, und das dann demenstprchend verarbeiten. allerdings müssen deine besucher dann javascript aktiviert haben.

    Kommentar


    • #3
      besser onChange, da bei onKlick beim Auswählen schon ausgelöst wird, und der User hat noch garnicht gewählt Denn Button würde ich aber dennoch da stehen lassen, falls der User JS deaktiviert hat, kann er immer noch manuell aktualisieren.

      Kommentar


      • #4
        also wie muss ich das umschreiben?


        <SELECT ONCHANGE="location = this.options[this.selectedIndex].value;">

        ^^ Ist aus einem Beispiel...

        Kommentar


        • #5
          nope, onchange="this.form.submit();"

          Kommentar


          • #6
            oh, ich meinte auch onChange.
            hatte das nicht mehr so genau in Erinnerung weil ich javascript, wenn möglich nie verwende.

            Kommentar


            • #7
              Vielen Dank, hat wunderbar geklappt

              Kommentar


              • #8
                Original geschrieben von asp2php
                besser onChange, da bei onKlick beim Auswählen schon ausgelöst wird, und der User hat noch garnicht gewählt Denn Button würde ich aber dennoch da stehen lassen, falls der User JS deaktiviert hat, kann er immer noch manuell aktualisieren.
                Viel schicker: den Button in <noscript> Tags ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  noch eine kleine Frage dazu:


                  könnte man es so einrichten das die Auswahl der Select-Box erhalten bleibt beim "onchange"? Das Feld springt im Moment auf den ersten Eintrag zurück..


                  mfg

                  Kommentar


                  • #10
                    ja, bei der Ausgabe von option-Werte vergleichst du mit selektiertem Wert und setzst ihn bei Bedarf als selected.

                    Kommentar


                    • #11
                      öhhhhhhhhhhhh

                      ich kenn nur <option selected=...>, könntest du dich bitte etwas präziser ausdrücken , bin dir echt dankbar!

                      Kommentar


                      • #12
                        z.B.
                        PHP-Code:
                        ....
                        <option value="Office 2003"<?php
                        if ($_POST['art'] == 'Office 2003') echo ' selected'?> >
                        <?php echo $office?></option>
                        ...
                        btw. wo kommen denn die Werte für value her? Wenn aus der DB dann sollst du dich mal mit Schleifen beschäftigen.

                        Kommentar


                        • #13
                          ich muss dir nochmal grosses Lob aussprechen, klappt auf Anhieb!

                          PS: Die Values sind fest, nur die Ausgabe liest er aus einer MySQL-DB.

                          Bin schon ganz glücklich soweit gekommen zu sein, ist schliesslich mein erstes "grösseres" Programmiervorhaben!

                          Danke, und schönen Tag

                          Kommentar


                          • #14
                            wo ist denn der Unterschied zwischen values und sichtbaren Werte? Warum nicht beide gleich? Dann kannst du sowas machen:
                            PHP-Code:
                            $db mysql_connect...
                            mysql_select_db...
                            $sql = ....
                            $res mysql_query...
                            $strSelected = (isset($_POST['art']) ? $_POST['art'] : '';
                            echo 
                            "<select name=\"art\">\n";
                            while (
                            $row mysql_fetch_array($res) {
                               echo 
                            '<option value="'.$row['colname'].'"';
                               if (
                            $row['colname']==$strSelected
                                  echo 
                            ' selected';
                               echo 
                            '>'.htmlentities($row['colname'])."</option>\n";
                            }
                            echo 
                            "</select>\n";
                            ... 

                            Kommentar


                            • #15
                              das ist mir Momentan noch etwas zu kompliziert ausserdem muss das dingens bald laufen

                              werde mich da aber reinknien, vielen Dank!

                              Kommentar

                              Lädt...
                              X