我的网络应用程序上有一些输入,我们要求用户输入百分比值(例如 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/