Multiselect Wert nach Überprüfung

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

  • Multiselect Wert nach Überprüfung

    Hallo ans Forum,

    hat jemand einen Tipp für mich wie ich folgendes Problemchen löse:

    1. User gibt Daten in Formular ein.
    2. Felder werden auf Inhalt geprüft.
    3. Bei Fehlen von Angaben kommt Fehlermeldung.
    4. Bereits gemachte Angaben bleiben nach Überprüfung erhalten mit Anfangswert in den Feldern <?php echo $POST["feld"];?>. So weit so gut, bei Textfeldern.

    Meine Frage:
    Wie funktioniert das bei Multiselect-Feldern?


    javascript:smilie('')
    confused







  • #2
    im grunde geht es um eine überprüfung eines jeden eintrags und anschließendes vorselektieren des vom benutzer ausgewählten. also: foreach, if, echo etc.

    Kommentar


    • #3
      im grunde geht es um eine überprüfung eines jeden eintrags
      hier ist wohl eine schleife gemeint, also foreach-abfrage option-variable. Damit komm ich klar.

      anschließendes vorselektieren des vom benutzer ausgewählten.
      Wie ich Werte in einer Liste vorselektiere ist in deinem Link erklärt. Ich möchte jedoch keine Werte vorselektieren, sondern einen selektierten Wert aus dem Listenfeld quasi $_Post-mäßig im Formular behalten.

      Kommentar


      • #4
        genau das ist es doch.

        ich wähle das zweite element aus der liste - die seite wird neugeladen - dein skript vorselektiert mir das zweite element aufs neue - für mich sieht es aus, als hätte sich an meiner auswahl nichts verändert.

        you see?

        Kommentar


        • #5
          Kannst du mir das an einem Beispiel verdeutlichen?

          Wie bekomme ich das in ein Listenfeld, das z.B. so aussieht rein?

          <select name="auswahl[]" >
          <option selected>-----</option>
          <option>Wahl A</option>
          <option>Wahl B</option>
          </select>


          Nach deinem Vorschlag muss da eine Schleife rein, etwa so:

          if ($_POST['auswahl']) {
          foreach($_POST['auswahl'] as $element) {

          und dann ? .........

          Kommentar


          • #6
            Für alle die diese Problemchen auch mal haben sollten, hier eine mögliche Lösung, wie man Werte in Listenfeldern behält, nachdem eine Fehlerüberprüfung im Formular erfolgt ist:

            <select name="auswahl" >
            <option selected>-----</option>
            <option value="Wahl A"<?php if ($auswahl == "Wahl A") echo 'selected' ?>>Wahl A</option>>
            <option value="Wahl B"<?php if ($auswahl == "Wahl B") echo 'selected' ?>>Wahl B</option>>
            </select>


            Sicher gibt es noch elegantere Lösungen mit select-variable als array in form auswahl[] und einer foreach-schleife zur abfrage der optionswerte. Empfehle hierzu selfphp 3.0 Handbuch (downloaden), dort Suche unter Dynamische Formulare.

            Aber bei wenigen Optionen bzw. wenig Optionsfeldern dürfte wohl obige Lösung ausreichen.
            Zuletzt geändert von fjs; 30.03.2006, 22:23.

            Kommentar

            Lädt...
            X