Autofill Funktion Uhrzeit

  • Themenstarter Themenstarter JavaEE7GmbH
  • Beginndatum Beginndatum
J

JavaEE7GmbH

Gast
Morgen liebe Community,

ich arbeite gerade an einem kleinere Java Projekt freizeitlich.
Meineie Anforderung ist grob, dass man einen Termin planen kann für ein Gespräch o.ä.
Nun soll es eine Autofill-Funktion geben, d.h man soll die Uhrzeit auch z.B. so eingeben können:
"15:4" --> soll zu "15:40" ergänzt werden, oder dass man z.B auch "1534" eingeben kann und die Uhrzeit dann automatisch zu "15:34" ergänzt werden soll.

Kann mir da jmd weiterhelfen bzw. einen kleinen Ansatz liefern? Gibt es da eine bestimmte vorderfinierte Methode zu?

Gruss,
JavaEE7GmbH
 
Hallo, ich hab so etwas ähnliches auch für ein Textfeld gemacht, in das man ein Geburtsdatum eingeben muss (mit oder ohne Punkte, 6- oder 8-stellig). Und zwar hab ich einen InputVerifier geschrieben und ans Textfeld gehangen. Dieser überprüft beim Verlassen des Textfeldes (Fokus) den eingebenen Wert. Man kann aber auch das Textfeld als Referenz mit übergeben und dann den Text so ändern wie man möchte und wieder ins Textfeld reinschreiben.

Schau auch mal hier:
Eingabeprfungen in Java

Meiner Meinung nach ist AutoFill oder AutoComplete eher, wenn man anfängt etwas in ein Textfeld zu schreiben, dass dann ein Vorschlag zur Vervollständigung des Eingabebegriffes gemacht wird. Das andere (gewünschte) ist eher eine Umwandlung eines eingegebenen Begriffes in ein bestimmtes Format.
 
Zuletzt bearbeitet von einem Moderator:
Hallo,
handelt sich um eine textfield componente.
Das mit dem focus ist schonmal grob das, was ich suche.
sobald ich das Feld verlasse (den Focus woanders hinsetze), soll das AutoComplete stattfinden.

Danke euch beiden, ich schaue mir den geposteten Link mal genauer an.

Gruss,
JavaEE7GmbH
 
AutoComplete ist falsch ausgedrückt, habt ihr Recht.
Eine Umwandlung trifft es mehr.

Gruss
JavaEE7GmbH
 
> "15:4" --> soll zu "15:40" ergänzt werden

ist doch klassisch richtig und die Hauptsache ist, auf die Eingabe zu reagieren, anscheinend schon während des Tippens,
an den AutoComplete-Mechanismen kann man das anschauen, egal was daraus wird
 
Vermutlich nur falsch ausgedrückt...

> "15:4" --> soll zu "15:40" ergänzt werden, oder dass man z.B auch "1534" eingeben kann und die Uhrzeit dann automatisch zu "15:34" ergänzt werden soll

Sieht eher danach aus, als sollte es nach Verlassen des Textfeldes in ein bestimmtes Format umgewandelt werden, und nicht schon während der Eingabe.
 
Das lässt sich dann ja noch nach Belieben bzw. Usergewohnheiten ausbauen, z.B. bei einer Eingabe einer Zahl zwischen 0 und 23 werden nur die Stunden eingetragen und die Minuten auf 00 gesetzt. Also, Eingabe von 18 in das Textfeld ergibt nach Verlassen 18:00.
 
Hallo,
nein 15.04 wäre nicht logischer, möchte dass wenn ich eingebe 15.8 es auf 16.20 Uhr geändert werden soll,
sprich .59 wäre das maximum,danach solls automatisch in die nächste Stunde übergehen.

textfields vorausgesetzt.

Gruss
 
JavaEE7GmbH, es ist unlogischer 🙂
Ich hab so was für die Arbeit geschrieben. Von 1-4 Zeichen, mit oder ohne Trennzeichen (Doppelpunkt o.ä.). Wenn du ein Datum mit 42 eingibst, meinst du auch den 4. Feb und nicht den 40. Feb 😉
Ist allerdings immer etwas schwierig, die Regeln für ein solches Teil aufzustellen. Davon ausgegangen, dass 23 zu 23:00 konvertiert würde, was würde dann mit 25 passieren? 02:05? 00:25? Man weiss es nicht so genau 🙂
 
Hatte gerade eine neue Idee. Wie wäre es, wenn du unter das Textfeldes eine ComboBox legst? Dort könntest du wärend dem Tippen alle möglichen Zeiten eintragen und sie bei Änderungen bzw. wenn das Textfeld den Focus bekommt ausklappen. So bräuchtest du am Ende nur kurz per Regex zu prüfen, z. B. ([0-2][0-9][:][0-5][0-9]) (Pseudo).
Das wäre wieder Autovervollständigung, aber so können die Benutzer schnell eine Zeit eingeben und du musst einfach ein paar Möglichkeiten daraus generieren. So verhinderst du auch, dass automatisch irgendwas übernommen wird, was der Benutzer eventuell garnicht will.

@faetzminator: Wenn ich 42 eintippe will ich meistens nur sehen, ob die Entwickler Humor hatten. :autsch:🙂
 
Hallo,
bei 25 soll dann 01.00 Uhr erscheinen, wobei man Nachts kein Gespräch hinlegt . 😀
Das scheint doch vom Regelumfang (was wann wie geändert werden soll) komplexer zu sein als gedacht, ich sollte mir evtl mal eine Liste schreiben mit Regeln dazu.

@Volvagia Ist eine gute Idee aber ich möchte nur ungern eine ComboBox anlegen, sollte alles in diesem einen Textfield passieren.

@faetzminator Nach welchen Regeln hast du das damals implementiert? Musst nicht verraten, nur wäre nett wenn ich ein paar Ideen mehr hätte 🙂

Gruss
JavaEE7GmbH
 
Also folgendermaßen soll das aussehen:

> Uhrzeiten über 24 Uhr gesperrt

> Wenn 07:1 eingegeben --> 07:10 Uhr

> Wenn 07:5 --> 07:50 Uhr

> Wenn 07:6 oder hintere Zahl größer als 5 dann gesperrt.


Hat da wer n Einstiegspunkt für mich?
Kann man das nicht auch mit nem Javascript lösen?

Gruss
JavaEE7GmbH
 
@faetzminator Nach welchen Regeln hast du das damals implementiert? Musst nicht verraten, nur wäre nett wenn ich ein paar Ideen mehr hätte 🙂

In etwa so:
Ohne Trennzeichen:
Länge 1 = 0a:00
Länge 2 = ab:00
Länge 3 = ab:0c
Länge 4 = ab:cd

Mit:
a: = 0a:00
:b = 00:0b
ab: = ab:00
a:b = 0a:0b
:ab = 00:ab
ab:c = ab:0c
a:bc = 0a:bc
ab:cd = ab:dc

Allerdings soll das keine Empfehlung sein, jeder muss für sich selbst wissen, was nun für den User intuitiv zu sein scheint.
 
Guten Morgen,

hab jetzt ungefähr einen Lösungsweg, wollte es mit javascript machen habe mir dann aber gedacht es muss doch sowas schon im JQuery framework geben, kennt sich da wer aus? Mache nicht so viel mit JQuery und das framework ist gross.

Gruss,
JavaEE7GmbH
 
Umzusetzen mit javascript ist in dem fall nicht schwer...

mit document.getElementById("id").value auf textfield zugreifen

--> eindeutige id notwendig ("Eingabedatum")
--> onchange event afangen:

<script type="text/javascript">
 
Umzusetzen mit javascript ist in dem fall nicht schwer...

mit document.getElementById("id").value auf textfield zugreifen

--> eindeutige id notwendig ("Eingabedatum")
--> onchange event afangen:

<script type="text/javascript">
var DatumsFeld= document.getElementyId('Eingabedatum')
DatumsFeld.onchange=funtion(){
...hier logik..


document.getelementById('EingabeDatum').value=..
}

</script>

noch n bissl ajax rein und gut ist, die Frage ist nur obs sowas im JQuery schon gibt.

Gruss
 

Neue Themen


Zurück
Oben