如何始终在html输入字段中显示数字前缀?

时间:2018-10-05 13:15:36

标签: javascript html

是否有任何一种聪明的,简约的方法来始终在HMTL输入字段中显示数字的前缀(正,负)? (例如+ 1、0,-1)

我只发现了针对PHP的解决方案: How to prefix a positive number with plus sign in PHP

我必须使用<input type="text">,因为在不同的浏览器中text=number有不同的实现方式:Localization of input type number

我为什么要这样做? 我有一个输入字段,该字段显示可以添加(或减去)到某个值的百分比。

Basevalue: 10 Mofification %: +10 Results: 11

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用一些基本的javascript。在HTML页面的末尾(在body结束标记之前)添加一个脚本,然后为输入提供一个ID,例如prefixedInput。然后,您可以编写您的小脚本

var inputField = document.getElementById("#prefixedInput");
var inputFieldValue = inputField.value;

if (inputFieldValue > 0) {
    inputField.value = "+" + inputFieldValue;
}

if (inputFieldValue < 0) {
    inputField.value = "-" + inputFieldValue;
}

现在,它的工作方式实际上并没有什么用处,因为此功能仅在页面加载时执行一次,因此,如果您为输入分配了一个值,则该值将以其符号开头。但是,如果您想将此行为绑定到某些操作(例如,即使用户在初始页面加载之后插入值,也要在值之前加上前缀),您将被迫使用事件侦听器。