2

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

这给一些用户造成了困惑,所以我希望有一种方法可以将值转换为这些格式(后端有十进制值,HTML 输入显示百分比值)。有没有办法解决这个问题,而不必用 javascript 或类似的东西自己动手?

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

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


附加信息

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


回答

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

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

将执行与输入字段之间的所有转换。

4

2 回答 2

2

所需的 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>
于 2012-12-08T14:55:10.387 回答
1

这是简单的数学...... 75 到 0.75 是 75/100。包括在提交数字后转换数字的行。

于 2012-12-08T13:58:44.860 回答