NameZero912: Select-Feld Änderun soll zu submit führen.

Hallo, ich habe es selbst probiert aber es hat nicht geklappt. Ich möchte dass ein Formular abgeschickt wird wenn in einem dropdown-feld (<select>) etwas anderes als das bisehr ausgewählte ausgewählt wird.

Mein Beispiel bis jetzt:
<form action="index.php" method="POST" id="myownform">
<select name="active_ladder" onchange="document.getElementById('myownform').submit();">
    <option value="-1">----</option>
    <option value="1" selected="selected">option1</option>
    <option value="2" >option 2</option>
</select>
<br><br>
<input type="submit" name="select_option" value="Go"> <!-- falls jemand javascript deaktiviert hat -->
</form>

Wenn ich nun etwas anderes auswähle wird zwar die Seite neu geladen, aber das <select> Feld hat noch den alten Wert!

Was mache ich falsch ?

  1. Einen schönen guten Mittag.

    Wenn ich nun etwas anderes auswähle wird zwar die Seite neu geladen, aber das <select> Feld hat noch den alten Wert!

    Was mache ich falsch ?

    Wie verarbeitest du denn die an "index.php" über "method=post" gesendeten Daten? Wenn du einfach nur die Seite neu lädst und den Inhalt, nicht aber den form-Tag änderst, wird auch wieder folgende Zeile neu geladen:

    <option value="1" selected="selected">option1</option>

    Damit selektierst du wieder die selbe Option wie zuvor. Und dann hast du effektiv gar nichts gekonnt. Wenn du das ändern willst musst du üer PHP den den form-Tag neu erstellen und die Eigenschaft "selected=selected" für die gewählte Option angeben.

    So long and thanks for all the fish,
    Oku

    --
    Lehrersprüche - Schülersprüche
    Herr Brüns: "Das Primitive ist nicht zu verachten, besonders wenn man keine Ahnung hat."
    1. »»Wenn du das ändern willst musst du üer PHP den den form-Tag neu erstellen und die Eigenschaft "selected=selected" für die gewählte Option angeben.

      So long and thanks for all the fish,
      Oku

      Natürlich added mein PHP code das "selected" tag ;). Ich habe das ganze mal debuggen lassen und das Problem gefunden und behoben:

      Mein PHP Code macht die Anpassung des <select> Tags nur dann, wenn der Submit button gedrückt wurde (PHP Check ist 'if (isset($_POST['select_option']))'). Als ich die $_POST variable hab dumpen lassen war allerdings NUR die "active_ladder" variable, also der Inhalt des <select> Feldes übermittelt worden, der Submitbutton wurde nicht gesetzt. Dadurch wurde auch das selected="selected" nicht weiter angepasst. Habe den Check in PHP jetzt abgeändert und nun funktioniert es.

      Danke für die Hilfe.

      1. Einen schönen guten Nachmittag.

        Danke für die Hilfe.

        Hab ich gern gemacht, auch wenn ich nicht weiß, was ich gemacht habe. Ich finde sowas könnte ich öfter machen.

        So long and thanks for all the fish,
        Oku

        --
        Lehrersprüche - Schülersprüche
        Herr Brüns: "Das Primitive ist nicht zu verachten, besonders wenn man keine Ahnung hat."