私はSpringのform:inputを以下のように使用しています:
<form:input type="number" .....>
私のjspにありますが、ブラウザにレンダリングされたhtmlを確認すると、次のように表示されます。
type="number" type="text"
つまり、2つのtype
属性がhtmlに生成されます。
一方、ブラウザでinspect element optionを使用してチェックすると、正しい-のみtype="number"
予想通り。
編集-私の質問:生成されたhtmlで2つの型属性を取得するのはなぜですか(type="number" type="text"
)?それを解決する方法は?
Spring form:input
タグにはtype
という名前の属性がなく、コードで使用されているtype=number
は html5 入力タグに属しています。
HTMLテキスト入力は数値入力のみを許可します もご覧ください
SpringフォームTLDは、form:input
要素の有効な属性を一覧表示します ここ
HTML 5with <!DOCTYPE html>
has ネイティブソリューション :
<input type="number">
注意してください 一部のブラウザでは標準的な方法で動作しません 。
input type = "number" を試して、HTML5バージョンの動作を確認してください。
古いブラウザでの透過的なサポートについては、 https://github.com/jonstipe/number-polyfill も参照してください。
私はこれが古いことを知っていますが、私は私にとってうまく機能する解決策を見つけました。
spring:input
フォームタグはtype
属性をサポートしておらず、spring:number
のようなものはありません。ただし、jqueryを使用して、解析されたhtmlにtype="number"
属性を追加できます。
私が使用した:
$(".selector").attr({
"type" : "number",
});