以范围值输出HTML输入范围

时间:2019-07-11 16:57:46

标签: javascript html

我在页面上使用rangeslider.js,并希望在要提交的隐藏表单字段中显示该值。隐藏字段只能接受范围格式的值,例如50-205,其中50是范围的最小值,而205是从移动滑块选择的动态数字周围。

当前,似乎值已从代码中的50减去。我需要做些什么才能使它的值为50-xxx,其中xxx是动态值?

<input type="range" value="" min="50" max="800" aria-required="true" aria-invalid="false" data-rangeslider name='input_5' id='input_1_5' oninput="document.getElementById('testfield').value = 50-this.value)">

<input type="hidden" id="testfield" name="testfield" value="" />

1 个答案:

答案 0 :(得分:1)

根据外观,您只需要一些引号即可。

使用模板字符串:

oninput="document.getElementById('testfield').value = `50-${this.value}`"

使用.toString()

oninput="document.getElementById('testfield').value = '50-'+(this.value.toString())"

正如@Andreas指出的那样,HTMLInputElement#value将始终返回字符串,因此您实际上不需要在这里进行.toString()调用。不过,如果您想在将来的任何时候使用Number数据类型,则需要深入研究JavaScript type coercion

oninput="document.getElementById('testfield').value = '50-'+this.value"