Wie kann man in einem HTML-Formular einen Standardwert senden, wenn keine Eingabe getätigt wurde?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Am einfachsten mit versteckten Feldern:

<input type="hidden" name="foo" value="bar">
<input type="text" name="foo">

Wenn im Textfeld nicht eingegeben wird, hat foo den Wert bar, ansonsten den eingegebenen Wert.

Woher ich das weiß:Beruf – Entwickle seit > 20 Jahren Anwendungen mit PHP.

brauch ich input type hidden? könnte ich nicht einfach value in das textfeld packen?

0
@Mensch4

Natürlich kannst du einen Vorgabewert machen aber den kann der Nutzer ja löschen. Ich dachte, dass es dir darum ging.

1
@Mensch4

Dann wäre der Standardwert für den Nutzer direkt sichtbar.

Generell musst du bei so einer Lösung beachten, dass ein Nutzer in jedem Fall die Daten so manipulieren kann, dass für das Feld letzten Endes bspw. ein leerer String übermittelt wird.

1
@regex9

Ja, eine serverseitige Validierung der Werte ist natürlich trotzdem nötig.

@Mensch4 Das Hidden-Feld als Standardwert ist nur in wenigen Anwendungsfällen nützlich, dabei aber nicht wirklich sicher. Es gilt weiter: trau keiner Nutzereingabe!

1

Naja, in PHP kannst du ja einfach auf Leere/nicht gesetzte Werte prüfen und dann einen Standart setzten.

Woher ich das weiß:Studium / Ausbildung – Informatikstudent

wirst du wohl javascript nehmen müssen .

Geht wohl auch ohne, siehe Babelfish‘s Antwort

0
@MrAmazing2

ne leider nicht, der wert kann überschrieben werden, da value den wert einfüllt . und hidden hat nix mit einem feld zu tun. was man ausfüllen kann oder nicht. workarounds sind keine lösung sondern mit viel basteln .

0
@TechPech1984
der wert kann überschrieben werden

Und wo ist dabei das Problem?

und hidden hat nix mit einem feld zu tun.

Doch. Hidden versteckt das Input-Feld. Man sieht es nurnoch per Quelltext.

Ich mein klar, man kann per Inspektor den 'Standard Wert', also die Value des versteckten Feldes, ändern. Das meinst du vermutlich.

Aber dann könnte man auch gleich in das Sichtbare Inputfeld den neuen Wert schreiben, es macht literally keinen Unterschied.

Verstehe nicht, was das Problem sein soll?

0

Was möchtest Du wissen?