ERLEDIGT
NEIN
NEIN
ANTWORTEN
14
14
ZUGRIFFE
880
880
EMPFEHLEN
-
27.08.07 20:44 #1
Hallo!
Ich habe eine HTML-Auswahlliste, in der man etwas auswählen kann. Wenn das Formular jetzt abgesendet wird, und die Informationen nicht stimmen, will ich, das die vorher eingegebenen Daten eingestellt bleiben. Bei <input> oder <textarea> ist das kein Problem, aber wenn ich z.B. 5 <option>-Tags habe, und will, das nur bei dem vorher ausgewählten zusätzlich der Text "selected" ausgegeben wird, wie mache ich das am Besten?
Für jede Möglichkeit eine Variable anzulegen und dann mit einer if-Abfrage zu checken, welcher Variable jetzt "selected" oder "" zugewiesen wird ist ziemlich bescheiden.
Wenn ich die Information über die Möglichkeiten in einem Array hätte, könnte ich das mit einer foreach-Schleife machen, und dann dort if($möglichkeit == $möglichkeit_nr) echo "selected"; einfügen, oder?Website: http://www.multimolti.com/
-
Sofern ich es richtig verstanden habe: ja, ist möglich.
Und so ganz spontan fällt mir auch keine bessere Lösung ein...
-
Ist auch so die einzige Lösung was es da gibt. Es gibt höchstens andere Möglichkeiten wie man das Selected hinein schreibt. Also zum Beispiel bei jedem Durchlauf über eine If-Abfrage die HTML-Attribute in eine Variable speichern. Und diese dann einfach bei jedem Option anhängen.
-
Hallo,
was ganz schnell und einfach ist, ist einfach das was du übergeben hast wieder da einzufügen.
Also, du hast nun sag ich mal diese aufstellung:
Dann machste einfach auf der nächsten Seite, wenn es nicht stimmt:HTML-Code:<select size="1" name="form1"> <option selected>NR.1</option> <option>NR.2</option> </select>
Ist nicht schön, aber schnell und einfach.HTML-Code:<select size="1" name="form1"> <option selected><?php echo $vongerade; ?></option> <option>-------</option> <option>NR.1</option> <option>NR.2</option> </select>
-
musst das nicht so sein?
<option selected="selected" > </option> ?
-
27.08.07 22:07 #6
nein, es ist einfach nur <option selected>bla</option>.
Dann werde ich es eben mit diesem Array machen, weil es ist wirklich dämlich, es so zu machen:
PHP-Code:switch($firmenart)
{
case "1": $form_checked['gmbh'] = "selected"; break;
case "2": $form_checked['corporation'] = "selected"; break;
case "3": $form_checked['foundation'] = "selected"; break;
case "4": $form_checked['ag'] = "selected"; break;
default: $form_checked['gmbh'] = "selected"; break;
}
Website: http://www.multimolti.com/
-
-
27.08.07 23:18 #8
Ne, die habe ich mir einfach ausgedacht

Wird mal ein Browsergame, wo man bei der Registrierung neben Benutzernamen auch Firmennamen und eben die Geschäftsform angeben kann. Habe nur mal zum Test ein Registrations-Client gemacht, und da dann 4 Formen eingetragen. Später wird das dann aus einer Datenbank kommen, ja.
Infolink: http://imbissgame.im.funpic.de/Website: http://www.multimolti.com/
-
Wenn mal später alles in eine Datenbank kommt sollte es ja nicht das Problem sein die ID abzufragen welche gewählt wurde. Den Array bekommst du ja automatisch aus der DB (inkl. ID). Dann wie bereits gesagt die If-Abfrage.
-
Am elegantesten löse ich dieses altbekannte Problem mit JavaScript -- ich schreibe also überhaupt keinen PHP-Code, um eine Vorauswahl im <select> zu treffen, sondern lasse das von einer kleinen JavaScript-Zeile erledigen. Geht natürlich nur, wenn im Browser JavaScript aktiviert ist -- was allerdings bei mehr oder weniger allen Leuten der Fall ist.
Wenn ich absolute Kompatibilität will, komme ich natürlich um PHP-Code nicht herum. In diesem Fall sorge ich für eine Anwendungsarchitektur, welche die Behandlung von falschen Eingaben in Formularen möglichst automatisiert.
-Gawayn
-
Ich mach das immer mit Arrays, ich wüsste nichts, was da eleganter wäre.
-
28.08.07 09:14 #12
Habe auch schon ein Javascript, was die Eingaben überprüft, aber das ist ja nur zum Benutzer-Comfort da, PHP muss die Eingaben allein gegen Spamming noch mal überprüfen.
Ich werde es dann wohl mit einem Array machen, Danke.Website: http://www.multimolti.com/
-
JavaScript soll keine Fehlerüberprüfung vornehmen. Ich schrieb das hier:Habe auch schon ein Javascript, was die Eingaben überprüft
Im Fall, dass ein Fehler festgestellt wurde, übernimmt JavaScript das Auswählen einer Option im Listenfeld und entlastet somit den PHP-Code.ich schreibe also überhaupt keinen PHP-Code, um eine Vorauswahl im <select> zu treffen, sondern lasse das von einer kleinen JavaScript-Zeile erledigen
-Gawayn
-
28.08.07 10:57 #14
Achso. Wie sieht denn so ein JavaScript aus?
Website: http://www.multimolti.com/
-
Wenn du JavaScript verwendest, ist es genauso einfach, ein <select>-Tag zu initialisieren, wie eine Textarea oder ein Input-Feld. Und zwar so:
Ist am elegantesten -- aber wie gesagt, erfordert eben JavaScript. Angeblich haben manche Leute ja was dagegen, obwohl JavaScript heutzutage Common Sense ist.HTML-Code:<form name="form_bla" ...> <select name="select_blub" size="1"> ... </select> </form> <script type="text/javascript"> <!-- document.form_bla.select_blub.value = "der wert"; --> </script>
-Gawayn
Ähnliche Themen
-
Formular - Wenn "selected" trotzdem per onChange="submit()" abschicken möglich?
Von Atalión im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 12.10.09, 16:31 -
selected="selected" nicht im IE6 ?
Von megatom im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 05.06.07, 13:58 -
[Oracle] Meldung "no rows selected" ersetzen
Von m3000 im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 08.05.06, 08:44 -
Dynamische Navigation mit "selected" Styles
Von Sebigf im Forum PHPAntworten: 15Letzter Beitrag: 19.02.06, 11:23 -
Steuerelement als "selected" setzen? Selektion aufheben?
Von daDom im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 16.03.04, 17:48





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren