1

私はhtml5番号を入力しています:<input type="number" />

整数や小数だけでなく、381/2などの分数や混合数も受け入れてほしい。

分数サーバー側を解析します。

現在、入力がフォーカスを失うと、ブラウザは入力を38に変更します。

現在の回避策はプレーンテキスト入力を使用することですが、type="number"モバイルで特定のキーボードなどを使用する利点が欲しいです。

4

2 に答える 2

5

この<input type="number">要素は、数字を入力するためのブラウザ依存のブラウザロケール依存の入力コントロールを作成するために定義されています。属性を使用して範囲と精度を指定できるという意味を除いて、ドキュメントでこれを変更する方法はありません。したがって、ブラウザは38 1/2 を受け入れて内部的に 38.5 に変換できますが、そうすべきだと言う方法はありませ。さらに、数値の内部形式 (サーバーに渡される) は厳密に定義されています。たとえば、38 1/2 にすることはできません。

そのため、プレーン テキスト入力または特別なウィジェット (JavaScript でプログラム) を使用する必要があります。属性を使用してpattern、許可された形式、少なくとも許可された文字セットを指定できます。これは、タッチ デバイスに表示されるオンスクリーン キーボードに影響する場合もあれば、影響しない場合もあります (現在のデバイスでは影響しない可能性があります)。

于 2013-01-19T06:46:52.307 に答える