Wie kann ich HTML5-Textfeld machen, um Nummernblock anzuzeigen?

8

Phonegap & gt; Android

Ich weiß, dass ich type="number" verwenden kann, um den Nummernblock anzuzeigen, aber das Problem ist, dass ich die Eingabe als Preis neu formatieren möchte, wie der Benutzer eingibt. Also wird es im Format Dollar und Cent sein (wie% co_de) %) und das Feld 3,23.50 erlaubt nur numerische Zeichen.

Ich möchte also ein Textfeld haben, aber es sollte den Ziffernblock beim Tippen anzeigen. Ist es möglich?

    
Jibran K 24.09.2013, 12:17
quelle

4 Antworten

3

Für Android benötigen Sie normalerweise type="number" als Standard für die numerische Tastatur. (Einige arbeiten für das iPhone daran, was es wert ist.) Sie können während der Eingabe keine Nicht-Numerik in type="number" anzeigen. Um während der Eingabe anzuzeigen, benötigen Sie type="text" , und dann könnten Sie möglicherweise ein vorhandenes Plugin wie AutoNumeric verwenden, um während der Eingabe zu formatieren, aber dann werden Sie immer auf eine nicht-numerische Tastatur gedrückt, oft auf jede Taste drücken.

Ihre beste Problemumgehungslösung ist wahrscheinlich, dass Sie type="number" für die Bearbeitung verwenden und zu type="text" oder einem anderen Feld wechseln, um formatiert anzuzeigen, wenn das Feld nicht im Fokus oder zur gleichen Zeit ist. Und / oder Sie können feststellen, ob der Browser auf einem Gerät mit dem Standardtastaturproblem ist oder nicht, und wenn nicht, können Sie mit type="text" bleiben und formatieren, während Sie weitermachen. Andere Workarounds, die ich gesehen habe, sind Spinner (nicht gut für große Zahlen wie Kreditkarten) oder Widgets mit eigenen Pseudo-Tastaturen.

Wenn nicht unangemessen zu erwähnen, habe ich kürzlich die Arbeit an einem type="number" Plugin abgeschlossen, um das Problem type="number" Android zu lösen, und ich stelle eine Webseite zusammen, um sie zu teilen. Ich freue mich, die URL an Sie weiterzuleiten, (das Plugin ist herunterladbar und die API ist detailliert dokumentiert), aber ich möchte die Seite hier noch nicht veröffentlichen, bis ich die Seiten fertig gestellt habe. Wäre glücklich, zurück zu kommen und diese Antwort zu bearbeiten, wenn es bereit ist, die URL einzuschließen.

    
Neil Cresswell 16.03.2014, 00:02
quelle
3

Für eine All-Inclusive-Lösung, ich denke, Sie haben Pech, es sei denn, Sie verwenden type="text" und verwenden eine Formatfunktion onchange. Sie könnten jedoch das Zahlenfeld wie unten verwenden, das Ihnen Ihre zwei Dezimalstellen geben und dann einfach das Dollarzeichen vor das Eingabefeld setzen.

%Vor%     
Dom 24.09.2013 12:38
quelle
1
___ answer22431317 ___

Für Android benötigen Sie normalerweise %code% als Standard für die numerische Tastatur. (Einige arbeiten für das iPhone daran, was es wert ist.) Sie können während der Eingabe keine Nicht-Numerik in %code% anzeigen. Um während der Eingabe anzuzeigen, benötigen Sie %code% , und dann könnten Sie möglicherweise ein vorhandenes Plugin wie AutoNumeric verwenden, um während der Eingabe zu formatieren, aber dann werden Sie immer auf eine nicht-numerische Tastatur gedrückt, oft auf jede Taste drücken.

Ihre beste Problemumgehungslösung ist wahrscheinlich, dass Sie %code% für die Bearbeitung verwenden und zu %code% oder einem anderen Feld wechseln, um formatiert anzuzeigen, wenn das Feld nicht im Fokus oder zur gleichen Zeit ist. Und / oder Sie können feststellen, ob der Browser auf einem Gerät mit dem Standardtastaturproblem ist oder nicht, und wenn nicht, können Sie mit %code% bleiben und formatieren, während Sie weitermachen. Andere Workarounds, die ich gesehen habe, sind Spinner (nicht gut für große Zahlen wie Kreditkarten) oder Widgets mit eigenen Pseudo-Tastaturen.

Wenn nicht unangemessen zu erwähnen, habe ich kürzlich die Arbeit an einem %code% Plugin abgeschlossen, um das Problem %code% Android zu lösen, und ich stelle eine Webseite zusammen, um sie zu teilen. Ich freue mich, die URL an Sie weiterzuleiten, (das Plugin ist herunterladbar und die API ist detailliert dokumentiert), aber ich möchte die Seite hier noch nicht veröffentlichen, bis ich die Seiten fertig gestellt habe. Wäre glücklich, zurück zu kommen und diese Antwort zu bearbeiten, wenn es bereit ist, die URL einzuschließen.

    
___ qstntxt ___

Phonegap & gt; Android

Ich weiß, dass ich %code% verwenden kann, um den Nummernblock anzuzeigen, aber das Problem ist, dass ich die Eingabe als Preis neu formatieren möchte, wie der Benutzer eingibt. Also wird es im Format Dollar und Cent sein (wie% co_de) %) und das Feld %code% erlaubt nur numerische Zeichen.

Ich möchte also ein Textfeld haben, aber es sollte den Ziffernblock beim Tippen anzeigen. Ist es möglich?

    
___ qstnhdr ___ Wie kann ich HTML5-Textfeld machen, um Nummernblock anzuzeigen? ___ antwort22401092 ___

Das Problem mit type="number" ist, dass es nicht von allen Browsern erkannt wird.

Sie können eine Eingabemaske verwenden, um Ihre Posts zu formatieren.
Dafür gibt es mehrere Plugins.
Für Ihr Problem scheint maskMoney angemessen zu sein.

    
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ answer18981843 ___

Für eine All-Inclusive-Lösung, ich denke, Sie haben Pech, es sei denn, Sie verwenden type="text" und verwenden eine Formatfunktion onchange. Sie könnten jedoch das Zahlenfeld wie unten verwenden, das Ihnen Ihre zwei Dezimalstellen geben und dann einfach das Dollarzeichen vor das Eingabefeld setzen.

%Vor%     
___ answer22497558 ___

Ich benutze Jquery, probiere das, ich habe so codiert, dass beim Klicken in das Textfeld ein Nummernblock angezeigt wird, den Sie nach Ihren Wünschen ändern können

Code:

%Vor%

Verwenden Sie das Dropdown-Menü mit den erforderlichen Zeichen wie Dollar, Telefonindexnummer +91 usw.,

Beispiel

    
___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jquery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ tag123html5 ___ HTML5 (Hyper Text Markup Language, Version 5) ist ein Überbegriff für aktuelle Webtechnologien. Es ist auch die neueste Version von HTML. Im Oktober 2014 wurde es zu einer W3C-Empfehlung, die neue Elemente und APIs einführte. ___ tag123cordova ___ Apache Cordova (früher PhoneGap) ist ein Framework, mit dem Entwickler plattformübergreifende mobile Anwendungen mithilfe von Webtechnologien wie HTML, JavaScript und CSS erstellen können. ___
doydoy44 14.03.2014 09:35
quelle
0

Ich benutze Jquery, probiere das, ich habe so codiert, dass beim Klicken in das Textfeld ein Nummernblock angezeigt wird, den Sie nach Ihren Wünschen ändern können

Code:

%Vor%

Verwenden Sie das Dropdown-Menü mit den erforderlichen Zeichen wie Dollar, Telefonindexnummer +91 usw.,

Beispiel

    
user2992174 19.03.2014 06:02
quelle