letztes Zeichen eines Formulars

ChrisDongov

Mitglied
Hallo liebe Tutorialsgemeinde,

ich habe hier in meinem 1. Thread gleich 2 Problemchen :-( :

1.) Ich versuche jedes eingegebene Zeichen eines Nutzers in ein Form-Feld zu loggen. .value gibt aber leider jeweils den kompletten Inhalt zurück. Wie komme ich nur an das letze Zeichen?

2.) Ich habe drei HTML-select Felder wo man seine Geburtstagsdaten eintragen kann. Wie kann ich verhindern das jemand den 31.2.xxxx eingibt?

Hoffe auf baldige Antwort! :)
 
zu 1.) Bitte präzisieren, was hast du und was willst du wie wohin haben?

zu 2.) Bei dem Input-Feld für die Jahre einfach onkeypress="return (!isNaN(String.fromCharCode((event.keyCode)?event.keyCode:event.which)))" einfügen, dann können nur Zahlen eingegeben werden.
 
Also erstmal danke für die schnelle Antwort! Dachte zuerst es wäre eine Fehlermeldung so schnell wie das kam ;)

Leider muss ich wohl noch n bissl an meinen Postings arbeiten. Habe etwas anderes gemeint wie du beantwortet.... :suspekt:

1.) Auf der HTML Site gibts ein Formfeld in das Text eingegeben wird. Sobald ein Zeichen eingegeben wird soll dieses, mit einem ; getrennt; in eine Variable geschrieben werden. Zum Schluss soll in dem Formfeld der eingegebene Text stehen und in der Variablen wie dieser Text entstanden ist. Hoffe habe mein Problem nun verständlich machen können..

2.) Habe mich wohl wieder ungeschickt ausgedrückt. Es gibt 3 select Felder. Das erste mit Auswahlmöglichkeiten von 1-31 das 2. mit Januar - Dezember das 3. mit 1920 -2005.
Wie verhindere ich nun das jemand ein Datum wie den 31. Februar 2000 eingibt. Den gibts ja nie..

Hoffe diesmal ist mein Problem verständlicher für euch!
 
zu 1.) Das hier sollte tun, was du willst. Das onkeypress="String.fromCharCode(( event.keyCode )?event.keyCode:event.which)" ist der Schlüssel.

zu 2.) Naja, da sind anscheinend zwei Dumme zusammengekommen ich hätte ja auch genauer hinschaun können, dann wäre mir aufgefallen, dass es den 31.02 ja gar nicht gibt und es dir wohl nicht auf's Jahr ankommt.

Für die Sache mit dem Datum hast du im Prinzip zwei Möglichkeiten. Die Erste und einfachere wäre, die Eingabe zu Überprüfen (vor dem Abschicken schaust du, ob das was beim Tag ausgewählt wurde kleiner gleich dem Maximum für den Monat ist und gibst halt ne Fehlermeldung aus wenn nicht) oder du machst so ne art onchange beim Monat, der dann die Inhalte im Select für die Tage so ändert, dass man gar nichts falsches auswählen kann.

In beiden Fällen wird wohl für dich der Knackpunkt sein die Zahl der Tage für einen Monat in einem Bestimmten Jahr zu bestimmen. Dazu einfach mal ne kleine Hilfestellung:
HTML:
var monthdays = new Array(31,31,( (y % 4 == 0 && ( y % 100 != 0 || y % 400 == 0 )) ? 29 : 28 ),31,30,31,30,31,31,30,31,30,31);
Wenn vorher die Variable y den Wert des Jahre hat (wieder per event einfach setzen), dann bkommst du mit monthdays[1] die Zahl der Tage für Januar, monthdays[2] die für Februar usw.

Weiß jetzt nicht für welche Alternative du dich entscheidest. Hab einfach mal ein Beispiel für die Zweite gemacht, weil ich die irgentwie sympathischer finde, hoffe mal du wirst schlau draus.

Hoffe, das hat dir geholfen!

Hab beide Beispieldateien nochmal als Zip angehängt.
 

Anhänge

Zuletzt bearbeitet:

Neue Beiträge

Zurück