web-dev-qa-db-ja.com

どの入力フィールドタイプがフォーカスされたときにテンキーモバイルキーボードを強制的に起動させますか?

<input type="number" /> but on Operaこれは、「上下」ハンドラーと相まって奇妙な入力ボックスを出力します。私が期待したのは、一度焦点を合わせると数字キーボードの代わりにアルファベット。それも可能ですか?

追伸私は検証しようとしていません。素晴らしいユーザーエクスペリエンスになるでしょう。それだけです。

23
Ayyash

type = "number"はHTML5であり、 多くの携帯電話はHTML5をサポートしていません。通話リンクには、type = "tel"または<A href="wtai://wp/mc;600112233">Special A</A>を使用できます。 CSS WAPエクステンション(56ページ) もご覧ください。

編集10/2015:
ほとんどのスマートフォンはHTML5とCSS3をサポートしていませんが、type="number"が最善の方法です。

13
fravelgue

pattern="[0-9]*"を使用

  • 数値入力の例:<input type="number" pattern="[0-9]*" />

  • 電話入力の例:<input type="tel" pattern="[0-9]*" />

注:type="tel"をサポートしないブラウザは、デフォルトでテキストタイプになります

注意:type="number"を使用すると、一部のブラウザーで問題が発生し、ユーザーが必要とする可能性のあるクレジットカード、郵便番号、電話入力のユーザーエクスペリエンスが発生する可能性があります出力に句読点またはコンマを入力します。

参照:

26
Huski

電話番号を処理するHTML5の公式の方法は次のとおりです。

<input type="tel">

Opera used<input type="number" />を使用したときに得た「奇妙な入力ボックス」が気に入らなかったかもしれません。数値。

19
Dori

この投稿は現在無効です。すべてのスマートフォンがHTML5およびCSS3をサポートするようになったため、実際にはtype = "number"を追加してもポップアップに番号パッドを要求することはありません。 2つの異なるAndroid=バージョンとiPhoneで確認しました。だから、正しいHTML5形式の代わりにWAPを試す人はいません。

9
Jeff Walters

これはモバイルでも機能し、デスクトップ版のページで「e」(他のすべての文字とともに)を入力できないようにします。 type="number"自体は、通常、仕様ごとに「e」を許可します。

<input pattern="[0-9]*" type="text" oninput="this.value=this.value.replace(/[^0-9]/g,'');">

上記でtype="number"を使用する場合、「123」、次に「e」と入力すると、oninput JSがボックスのすべての内容を置き換えます。本当に整数値だった場合は、type = "text"を使用してください。

1
d35348w

<input type="number" pattern="/d*"> OR <input type="tel" pattern="/d*">これは、Androidで作業する場合に役立ちます。

0
souvik