Spring form:input for number

27.8k views Asked by At

I am using Spring's form:input as below :

<form:input type="number" .....>

in my jsp but when I check the html that is rendered on the browser it shows like :

type="number" type="text"

i.e., two type attributes are generated in the html.

On the other hand, if I check using inspect element option in the browser, it shows correct - only type="number" as expected.
Edit- My Question: Why am I getting two type attributes in generated html (type="number" type="text") ? How to get it resolved?

3

There are 3 answers

3
Santhosh On BEST ANSWER

Spring form:input tag doesnt have any attribute named type and the type=number used in your code belongs to html5 input tag

Also have a look at HTML Text Input allow only Numeric input

Spring form tld lists the valid attributes of form:input element here

0
yumyumsuppe On

I know this is old, but i found a solution that works just fine for me.

The spring:input form tag doesnt support the type attribute and there is no such thing as spring:number. But you can use jquery to add the type="number" attribute to the parsed html.

I used:

$(".selector").attr({
    "type" : "number",
});
0
tk_ On

HTML 5 with <!DOCTYPE html> has native solution:

<input type="number">

Beware that it does not behave in standard way in some browsers.

Try input type="number" to see the HTML5 version in action.

See also https://github.com/jonstipe/number-polyfill for transparent support in older browsers.