javascript - 输入百分比值

标签 javascript html spring-mvc

我的网络应用程序上有一些输入,我们要求用户输入百分比值(例如 10.75%、23%)。目前,他们必须以十进制形式输入这些值(例如 0.1075、0.23)。

这给一些用户带来了困惑,所以我希望有一种方法可以将值与这些格式相互转换(后端有十进制值,HTML 输入显示百分比值)。有没有解决这个问题的方法,而不必使用 javascript 或类似的工具来实现?

我在 HTML5 输入中没有看到任何可以执行此操作的内容,并且我无法找到可以轻松执行此操作的 javascript 库。

其他人以什么方式在 HTML 中进行百分比输入?


其他信息

Web 应用程序使用 Java/Spring,因此传入 HTML 页面的值来自相关 java 对象的字符串,因此理想情况下,我正在寻找不需要任何后端编码的东西。


回答

事实证明,Spring 3.0 会自动执行此操作。用以下方式注释有问题的字段:

@NumberFormat(style = NumberFormat.Style.PERCENT)
private BigDecimal rate;

将完成输入字段之间的所有转换。

最佳答案

所需的 JavaScript 非常简单。例如,您可以在用户提交时将用户输入的小数值存储在隐藏字段中。

​<form id="myForm">
    <input type="text" id="myPercent" name="myPercent" />%
    <input type="hidden" id="myFraction" name="myFraction" />
    <input type="submit" />
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
<script type="text/javascript">
    document.getElementById('myForm').onsubmit = function() {
        document.getElementById('myFraction').value = 
            document.getElementById('myPercent').value / 100;
    }
</script>

关于javascript - 输入百分比值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13778104/

相关文章:

java - 查询中的单个添加标量

javascript - 从 ROR Controller ruby​​ 调用 javascript 函数

javascript - ionic map Controller 未加载

javascript - 尝试根据 Node.js 的 URL 更改周长

html - CSS - 3 个 div,1 个固定大小,其他填充空间

html - 如何在ul中垂直对齐图像

html - 知道如何将这种下沉悬停效果添加到图像/链接吗?

javascript - 何时使用 if (document.all&&document.getElementById) 条件

java - Spring 3.0 安全性不适用于基于注释的 Controller

java - org.apache.jasper.JasperException : Unable to compile class for JSP encountered when using spring