2011-12-22 2 views
0

jQuery Mobileを使用してフォームを作成していますが、属性タイプ= "number"の入力フィールドを使用すると、私はこれを回避する方法がある1234567番号がに変換されます 入力フィールドの数値は自動的に何千もの自動分割フォーマットに変換されます - JQuery Mobile

<input type="number" name="number" id="number" value=""> 

1,234,567に入力した場合 :数千人大会

例? ありがとう

答えて

4

ほとんどのブラウザはそうしませんが、ChromeのようなWebKitベースのブラウザはそうしています。間違って、HTML5仕様に書かれているように、このような書式設定を行わないといけないので、追加するかもしれません。

これはHTML5の入力項目に関して私にとって大きな問題です。さまざまなクライアントの振る舞いのために、どのような種類の生産環境でも十分にカスタマイズできず、ほとんど使用できないということです。しかし、仕様がより成熟するにつれて、開発者がブラウザの代わりに物を決めることができるように、これは(私が望む)変更されるでしょう。 もう1つの例は、一部のブラウザでrequiredが動作する方法と、エラーメッセージがどのように決定されるかです。

あなたの問題を解決するには、type="number"を使用して、代わりにバックtype="text"を使用して、それは、少なくともアップルの携帯電話の番号を入力として表示ようになります"[0-9]*"の正規表現値を持つ属性patternを追加するに行かないことです。 Androidではなく、私はそう思う。

あなたができることは、どのような種類のクライアントであるかを確認し、それに応じて異なる方法を使用することです。 iPhoneやデスクトップパソコンではtype="text" pattern="[0-9]*"、Androidではtype="number"などのように。

+0

クールでスマートなアイデアありがとう:) –

関連する問題