2016-04-01 9 views
0

Ich versuche, ein HTML-Dauer (nicht die Tageszeit) Eingabefeld, dh HH: MM, und ich möchte es die numerische Tastatur auf mobilen Geräten auslösen.Hinzufügen von Sonderzeichen zu Zahleneingabe

<input type="number" /> scheint die einzige zuverlässige Möglichkeit, dies zu erreichen. Aber ich brauche es, um Doppelpunkte : zu akzeptieren.

Gibt es eine Möglichkeit, das Zahleneingabefeld zu zwingen, zusätzliche Sonderzeichen zu akzeptieren?

+0

Warum nicht einen TimePicker verwenden, der für genau diese Art von Eingabe gebaut wurde? –

+0

Zeitwähler sind für die Tageszeit, zB 12:45 Uhr - ich will nur gezielt Stunden und Minuten als Dauer, z. Diese Aufgabe dauert 5 Stunden 30 Minuten. Es macht nicht viel Sinn für am/pm da zu sein. –

+0

Sie können den Picker in den 24-Stunden-Modus versetzen, wodurch der AM/PM-Indikator entfernt wird. Kann in Ordnung sein, wenn Sie keine Stunden> 23 brauchen. –

Antwort

0

Soweit ich weiß, ist es nicht möglich. Wie Sie brauchen, ist die numerische Tastatur auf dem mobilen Gerät zusammen mit : überhaupt nicht nativ. Es gibt einfach keine : Taste in der Tastatur, nichts, was Sie dagegen tun können.

Verwenden Sie einfach <input type=time> und Sie können Magie auf dem mobilen Gerät schön passieren. Wenn Sie den Benutzer eingeben müssen, verwenden Sie number oder text, und fügen Sie zusätzliche pattern Eigenschaft hinzu, um die Überprüfung durchzuführen. Oder verwenden Sie etwas wie jQuery validation plugin , um Just-in-Time-Validierung durchzuführen.

+0

Zeitwähler sind für die Tageszeit, zB 12:45 Uhr - ich will nur gezielt Stunden und Minuten als Dauer, z. Diese Aufgabe dauert 5 Stunden 30 Minuten. Es macht nicht viel Sinn für am/pm da zu sein. –

+0

http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_input_time_create Nein, versuchen Sie es auf dem mobilen Gerät (in meinem Fall ios8.4) es lassen Sie nur Stunden und Minuten auswählen. –

0

Try für HH: MM Eintrag und H: MM Eintrag

<EditText> 
    android:digits="1234567890:" 
    android:inputType="textNosuggestions" 
    android:minLength="4" 
    android:maxLength="5"/> 

Wenn Sie Benutzer von der Eingabe der Zeit verhindern wollen, wie "91:87" oder "36" oder ": 3: 4" und alle diese Variationen dann müssten Sie einen TextWatcher wie diesen verwenden edistext.addTextChangedListener(new TextWatcher(this));

+0

Ist das für eine Android App? Ich versuche, eine Eingabe für eine Web-App zu machen. –

+0

warum hast du dann android getaggt ?? verschwendete meine Zeit – suku

+0

Muss auf dem Android-Webbrowser arbeiten. –

Verwandte Themen