104

モバイル Web サイトがありinput、次のような HTML 要素が含まれています。

<input type="text" name="txtAccessoryCost" size="6" />

Android 2.1 で使用できるように、サイトを に埋め込んWebViewで、Android アプリケーションにもします。

inputこの HTML要素がフォーカスされているときに、文字を含むデフォルトのキーボードの代わりに数字を含むキーボードを取得することは可能ですか?

または、 HTML 要素に対して実行できない場合、アプリケーション全体 (おそらくマニフェスト ファイル内の何か) に対して設定することは可能ですか?

4

8 に答える 8

123
<input type="number" />
<input type="tel" />

これらは両方とも、入力がフォーカスを取得したときにテンキーを表示します。

<input type="search" /> 追加の検索ボタンを備えた通常のキーボードを示しています

他のすべては、標準のキーボードを起動するようです。

于 2010-11-30T12:33:32.967 に答える
53

重要な注意点

これはコメントではなく回答として投稿しています。これはかなり重要な情報であり、この形式でより多くの注目を集めるためです。

他のフェローが指摘したように、デバイスにtype="number"/を使用して数値キーボードを表示させることができますが、これには非常に注意するtype="tel"必要があることを強調しなければなりません。

のようにゼロで始まる数字が必要な場合000222、一部のブラウザー (デスクトップ Chrome など) がサーバーに送信するため、問題が発生する可能性がありますが222、これは彼女が望んでいるものではありません。

type="tel"たようなことは言えませんが、電話によって動作が異なる可能性があるため、個人的には使用しません。pattern="[0-9]*"私はAndroidで動作しないシンプルなものに自分自身を限定しました

于 2013-01-30T10:09:46.047 に答える
20

inputmodeWHATWG仕様によると、デフォルトの方法です。

iOS デバイスの場合、追加patternも役立ちます。

typeChrome はバージョン 66 以降でこれらを使用するため、下位互換性のためにも使用します。

<input
  inputmode="numeric"
  pattern="[0-9]*"
  type="number"
/>
于 2020-02-23T13:58:29.790 に答える
9

これはうまくいくはずです。しかし、Androidフォンでも同じ問題があります。

<input type="number" /> <input type="tel" />

jquerymobile-framework を含めなかった場合、2 種類のフィールドでキーパッドが正しく表示されることがわかりました。

しかし、jquerymobile を本当に使用する必要がある場合、その問題を解決する解決策は見つかりませんでした。

更新: フォームタグが外部に格納されている場合、

<div data-role="page"> 

数字キーパッドは表示されません。これはバグに違いない...

于 2011-01-24T12:33:45.960 に答える