Formulardaten vorab formatieren

Status
Nicht offen für weitere Antworten.

Ultraflip

Erfahrenes Mitglied
Hi Leute ...

Ich such eine Möglichkeit (am besten ohne JS) die Eingaben von Formulardaten direkt zu formatieren ... Das heißt z.B.:

- Das in ein Feld nur eine Zahl mit 8 Stellen eingetragen werden kann ...
- Das in einen Feld nur eine 12-stellige Zahl eingegeben werden kann ... sie sollen direkt mit Leerzeichen dargestellt werden (z.B. "12 1234 123 123")

Wäre prima wenn mir jemand auf die Sprünge helfen könnte ...

MfG
Ultraflip
 
Du könntest zum einen mit Hilfe des Attributes maxlength="..." die Anzahl der Zeichen bei der Eingabe auf eine maximale Höhe festlegen.
Bsp.:
HTML:
<input type="text" name="PLZ" maxlength="5">
Eine PLZ hat nun mal nur 5 Ziffern und kann somit auch nicht länger werden.
Ansonsten (oder zusätzlich) kannst Du mit PHP die ankommenden Werte auf ihre Länge prüfen und bei einer zu kleiner oder zu großen Anzahl von Zeichen etwas tun (zum Beispiel einen Fehler ausgeben).
Bsp.:
PHP:
if(strlen($_POST["PLZ"]) != 5)
  echo "Eine PLZ besteht muss aus exakt 5 Ziffern bestehen!";
Und was die Leerzeichen in Deiner 12 stelligen Zahl betrifft, da könntest Du mit substr() arbeiten:
PHP:
$zahl = "121234123123";
$zahl1 = substr($zahl, 0, 2);
$zahl2 = substr($zahl, 2, 4);
$zahl3 = substr($zahl, 6, 3);
$zahl4 = substr($zahl, 9, 3);
echo "$zahl1 $zahl2 $zahl3 $zahl4";

redlama
 
Danke Redlama!

Das war was ich gesucht hab ...

Nur ich kann jetzt den PHP Teil auf der Arbeit nicht ausprobieren ... kann ich das denn auch so benutzen, dass während der Eingabe die Zahlen schon getrennt sind, oder muss das bei der Eingabe zusammengeschrieben werden und wird dann erst im Post-Script getrennt?

Ich hoffe Du weißt was ich meine ... ist ein bisschen blöd zu beschreiben :rolleyes:

Wo müsste ich den Code denn hinsetzten (PHP kann ich (noch) nicht so gut ...)

Danke
Ultraflip
 
Die PHP Überprüfungen kannst Du erst nach Versenden des Formulars anwenden.
Die Eingabe der 12stelligen Zahl muss in dem Fall also zusammen geschehen.
Du lässt also die eingegebenen Werte an ein PHP Script senden und dort wertest Du sie aus und wandelst sie um.
Ich hoffe das beantwortet Deine Frage ausreichend.
Wenn weitere Fragen auftauchen, ... na Du weißt ja, wo Du sie stellen kannst! ;)

redlama
 
Jo das war ausführlich ... :eek:)

Ich hatte halt gehoft, dass man die Eingabe auch so formatieren kann wie bei Access ... aber ist jetzt nicht so tragisch, da ich ja (dank deinem Script) das bei der Ausgabe trotzdem so rauskrieg ...

Ich hatte zwar mal sowas im Netz gesehen, aber ich denke das war dann mit Javascript ...

und davon bin ich nicht so der Fan ;)

Danke für die Hilfe!
 
Status
Nicht offen für weitere Antworten.
Zurück