【问题标题】:Spring form:input for number弹簧形式:输入数字
【发布时间】:2014-11-26 04:39:58
【问题描述】:

我正在使用 Spring 的表单:输入如下:

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

在我的jsp中,但是当我检查浏览器上呈现的html时,它显示如下:

type="number" type="text"

即,在 html 中生成了两个 type 属性。

另一方面,如果我在浏览器中使用 inspect element option 进行检查,它会显示正确 - 只有 type="number" 符合预期。
编辑- 我的问题:为什么我在生成的 html (type="number" type="text") 中有两个类型属性?如何解决?

【问题讨论】:

  • 那么你的问题是什么?没有按预期工作?

标签: html jsp jsp-tags spring-form


【解决方案1】:

Spring form:input 标签没有任何名为 type 的属性,并且您的代码中使用的 type=number 属于 html5 输入标签

也可以看看HTML Text Input allow only Numeric input

Spring表单tld列出了form:input元素here的有效属性

【讨论】:

  • 这是否意味着如果我需要从我的 html 中删除额外的“类型”,那么我必须使用 html 的 而不是 spring 的表单标签?
  • 是的,你应该这样做,如果你打算对标签使用 UN-defined 属性,它就变得毫无意义不是吗?
  • 我正在使用弹簧表单,我想在form:input 中只允许数字,我该怎么做?
【解决方案2】:

我知道这是旧的,但我找到了一个适合我的解决方案。

spring:input 表单标签不支持type 属性,也没有spring:number 这样的东西。 但是你可以使用jquery将type="number"属性添加到解析后的html中。

我用过:

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

【讨论】:

    【解决方案3】:

    HTML 5&lt;!DOCTYPE html&gt;native solution

    &lt;input type="number"&gt;

    注意它does not behave in standard way in some browsers

    试试 input type="number" 看看 HTML5 版本的实际效果。

    另请参阅https://github.com/jonstipe/number-polyfill,了解旧浏览器中的透明支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多