NEWS
Wie kann man in VIS eine Zahleneingabe machen?
-
???
Die Frage ist, mit welchem Eingabe-Widget ich eine Zahl über VIS eingeben kann.
-
@stimezo sagte in Wie kann man in VIS eine Zahleneingabe machen?:
Vieleicht I wie Input?
Gruß
ChristianHat er doch geschrieben:
I wie Input
-
Hallo,
ein ähnliches Problem habe ich zur Zeit auch, ich benötige bei VIS eine Zeiteingabe, mit den möglichen Input Widgets gibt es nur eine umständliche Möglichkeit, denn "<input type="time">" gibt es nicht wirklich. Nur eben den typ=text, der bei Android die komplette Software Tastatur einblendet, was echt hässlich aus schaut. Ich habe dann versucht ein HTML Widget zu nehmen und "<input type="time">" aber dann bekomme ich den eingegebenen Wert nicht in den Datenpunkt geschrieben. Echt Kompliziert. Ich bin bis jetzt auch noch nicht ans Ziel gekommen.
Grüße -
für date und time nehme widget:
jqui-ctrl-Input Datetime
-
Keine gute Antwort, Sorry
Mit diesem Widget geht nicht das Time-Input Feld von Android auf, sondern ein ganz anderes. Zudem noch die Komplette Bildschirmtastatur. Das ist eher eine sehr unzufriedene Lösung.
Mal angenommen, ich nehme ein blankes HTML-Widget und schreibe in diesen <input type="time"> soweit so gut, aber wie könnte ich diese Eingabe weiter an einen Datenpunkt leiten. (Binding)
-
@assid sagte in Wie kann man in VIS eine Zahleneingabe machen?:
Keine gute Antwort, Sorry
Mit diesem Widget geht nicht das Time-Input Feld von Android auf, sondern ein ganz anderes.
Warum sollte es das denn auch tun?
Ich mein, ich bin auch wirklich noch am Anfang mit meinem Verständnis der Zusammenhänge zwischen Widgets, Objekten und Adaptern, aber ich denke nicht, dass es in VIS für die allgemeinen Funktionen eines Widgets von Vorteil wäre, wenn dies OS-abhängig gestaltet wäre.Man benutzt es doch innerhalb eines Browsers und da spielt das OS im Idealfall keinerlei Rolle, weil HTML basiert. Sozusagen dadurch auch Plattform übergreifend. Was Du indes haben möchtest, ist die Funktion, welche aus meiner Sicht nur eine Android App liefern kann.
-
@assid sagte in Wie kann man in VIS eine Zahleneingabe machen?:
Keine gute Antwort, Sorry
Mit diesem Widget geht nicht das Time-Input Feld von Android auf, sondern ein ganz anderes. Zudem noch die Komplette Bildschirmtastatur. Das ist eher eine sehr unzufriedene Lösung.
Mal angenommen, ich nehme ein blankes HTML-Widget und schreibe in diesen <input type="time"> soweit so gut, aber wie könnte ich diese Eingabe weiter an einen Datenpunkt leiten. (Binding)
Bei mir geht nur folgendes auf:
Tastatur geht da nicht auf. Ich finde das widget genau so wie du es haben wolltest.
Wenn du aber es besser weißt, dann nehm halt was anderes!Kannst ja auch:
- variable erzeugen
- script schreiben wo der Input dann per substring so geändert wird wie du es haben willst.
geht auch.
-
Oh nein, wollte jetzt nix beleidigends anfechten. Sorry, wenn das so rüber kam. Ich nutze VIS einerseits für eine HandyApp (vertikal) Android und für ein Wandtablet (horizontal) ebenfalls Android. Bei mir geht bei einem Input Feld grundsetzlich die Geräte-Software-Tastatur MIT auf, das zerreißt durch den Resize dann das Layout. Bei meinem PC passiert das natürlich nicht. Worauf ich raus wollt, sind die Input Typen, die mal leider nicht ändern kann, dazu suche ich eine Lösung, dies Umzusetzen.
https://www.w3schools.com/html/html_form_input_types.asp
@bahnuhr sagte
Kannst ja auch:
- variable erzeugen
- script schreiben wo der Input dann per substring so geändert wird wie du es haben willst.
geht auch.
Boar, das klingt Lösungsnah, gibts irgendwo näheres zu? Link?
Freundiche Grüße
-
Jetzt schreib doch mal genau was du willst.
Welche Eingabe willst du machen.
Was soll dann rauskommen.
Und was willst du damit machen oder weiterverarbeiten.mfg
-
So, anbei mal ein kleiner Code-Schnipsel.
On-Befehl, Variable anlegen musst du ergänzen bzw. erledigen.
var vText = getState('javascript.0.....').val; if (vText.search(":") == -1 || vText.length != 5) { log ("Eingabe ist keine Zeit") } else { var std = parseInt(vText.substring(0, vText.search(":"))); var min = parseInt(vText.substring(vText.search(":") + 1, vText.length)); } log (std); log (min);
Die If Abfrage prüft ob ein ":" in der Eingabe vorhanden ist und ob die Länge = 5 ist.
Mit den std und min kannst du dann weiter arbeiten.
mfg
-
Naja, das bei einem Input die Tatstatur eingeblendet wird ist ein Feature des Tablets (und ganz praktisch, sonst kann man nämlich nichts eingeben
Du suchst demnach nicht wirklich nach einem Eingabe Widget sondern nach der Möglichkeit eine Zeit festzulegen
und da finde ich die Lösung von bahnuhr sehr gelungen.
Könntest alternativ auch die Increment Buttons verwenden.Viele Grüße
Christian -
Jetzt schreib doch mal genau was du willst.
Welche Eingabe willst du machen.
Was soll dann rauskommen.
Und was willst du damit machen oder weiterverarbeiten.Ich benötige zwei Zeiteingaben direkt im VIS. Natürlich so einfach und schnell änderbar wie möglich. Diese Zeiteingaben sind mit eigenen Datenpunkten verknüpft und werden per Script weiter verarbeitet.
Diese Eingabe wird gesucht:
<input type="time">
Naja, das bei einem Input die Tatstatur eingeblendet wird ist ein Feature des Tablets (und ganz praktisch, sonst kann man nämlich nichts eingeben
Genau so ist es!
Du suchst demnach nicht wirklich nach einem Eingabe Widget sondern nach der Möglichkeit eine Zeit festzulegen
Genau so ist es!
und da finde ich die Lösung von bahnuhr sehr gelungen.
? (Das Widget ist nicht wirklich sinnvol, bei meinen Android Geräten geht zusätzlich eine Software Tastatur mit auf und am PC (Firefox) hätte ich eine angeschlossene Hardware Tastatur. Demzufolge wäre ein Widget Sinvoll, mit der <input type="time"> Möglichkeit oder eben ein alternatives Workaround (Umweg über ein HTML Widget und Inline Script?! falls das überhaut geht. > Binding andersrum. "set" )
Könntest alternativ auch die Increment Buttons verwenden.
Schau ich mir mal an. Danke