You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache FreeMarker表单中传递浮点值?type=number仅支持整数

解决Apache FreeMarker表单浮点值输入问题

方法1:给type=number添加step属性

HTML5的type=number默认仅允许整数输入,添加step属性可指定允许的小数精度,同时保留数字输入的原生校验功能。示例FreeMarker代码:

<input type="number" name="floatValue" step="0.01" value="${yourFloatValue?default('')}">
  • step="0.01" 允许两位小数,可按需改为0.1(一位小数)或其他精度值
  • 若需支持任意精度小数,可设置step="any",但部分浏览器兼容性略差,推荐使用具体精度值

方法2:type=text配合pattern正则校验

如果需要自定义校验规则,可使用text类型结合HTML5的pattern属性,提交时浏览器会自动校验格式:

<input type="text" name="floatValue" pattern="^\d+(\.\d+)?$" title="请输入有效的浮点数值(整数或小数)" value="${yourFloatValue?default('')}">
  • pattern="^\d+(\.\d+)?$" 匹配整数或带小数点的浮点数
  • title属性用于校验不通过时显示的提示信息

方法3:JavaScript实时输入过滤

若要实时阻止非法输入(比如字母、多个小数点),可给text类型输入框添加JS事件:

<input type="text" name="floatValue" 
       oninput="this.value = this.value.replace(/[^0-9.]/g, ''); 
                if(this.value.split('.').length>2) this.value = this.value.slice(0, -1);"
       value="${yourFloatValue?default('')}">
  • 这段JS会自动过滤非数字和小数点的字符,同时限制仅能输入一个小数点

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 23:02:02