2017-03-31 80 views
2

我正在使用jsp<form:input>標記用於輸入jsp表格上的數據。要求是限制輸入字段的長度並且只能輸入數字。JSP表格輸入最大長度不適用於數字類型

下面的標籤適用於限制輸入字符串的長度,但我可以輸入任何符號這裏:

<form:input path="somePath" code="someCode" maxlength="3"/> 

當我使用類型numbermaxlength屬性不工作,有在輸入方面沒有限制,但是我僅限於數量:

<form:input path="somePath" code="someCode" maxlength="3" type="number"/>

有沒有辦法有輸入字段有限的最大長度,並只數?無法弄清楚爲什麼上面的行不起作用。

+0

請參閱[這裏](http://stackoverflow.com/questions/8354975/how-can-i-limit-possible-inputs-in-a-html5-number-element)。 –

+0

那麼,JSP表單:輸入不能理解HTML type =「number」屬性,它總是會創建type =「text」輸入字段。 –

+0

form:輸入不是@Andrew S顯示的HTML標籤(html標籤是用type = text輸入的)form:input是spring-form.tld的自定義標籤,它是Spring MVC的一部分。你有目前的tld,並且你在JSP中引用它,如下所示:http://stackoverflow.com/questions/2900689/spring-form-tld-where-is-it? –

回答

1

多虧了答案here對於HTML5,我能夠通過以下方式來解決這個問題上JSP頁:

<form:input maxlength="3" type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57'/> 

至於number類型 - 它由<form:input>標籤支持,但無法限制其長度。

0

<form:input />標籤可是沒有任何命名類型和屬性,在代碼中使用的類型=號碼屬於html5輸入標籤

我能想到的最好的辦法是有使用Javascript此驗證。

Spring表單TLD列出形式的有效屬性:input元素here