我在页面上使用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="" />
答案 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"