私は次のマークアップがあります:Google Chromeの(そしておそらく他のWebKitブラウザ)でChrome/HTML5:入力タイプ番号が最大属性を満たしていませんか?
<input type="number" max="99" />
を、これは99の上に行くから矢印スピナーのアップが制限されますが、それはを入力してからユーザーを防ぐことはできません。 onblurであっても、無効な値は削除/置換されず、値が無効であるという警告さえありません。
私はそれが動作する方法を誤解していますか、これはバグですか?私は最新バージョンのChromeを使用しています(執筆時点では19)。
編集:
を明確にするために、私は指定されたmaxより大きい数が最初の場所で入力することが許可されている理由を知りたいです。私はそれが無効であることを伝えるフォーム提出のツールチップを提供することを認識していますが、スピナーがあなたが最大値を上回ることを許さない矛盾した振る舞いのようですが、それ。
これが何らかの理由で望ましい動作であれば、それはなぜですか?そして、JSに頼らずに入力範囲を強制するより良い選択肢がありますか?あなたのコードに送信ボタンとフォームを置けば
作品罰金が、私はエラーメッセージ「の値が99以下でなければなりません」を取得します。あなたの実際のコードをご覧になれますか? –
http://jsfiddle.net/j08691/Uv3EA/ – j08691
フォームの送信時にのみ表示されるのはなぜですか?さらに重要なのは、最初はなぜ許可されているのでしょうか?それはスピナーを制限して、それを使ってより高い価値を入力することはできません。なぜ手動入力でもないのですか?また、maxlengthやpatternを使用して制限することはできません。数値型入力には適用されないためです。私はJSのkludgeを書いて立ち往生している... – FtDRbwLXw6