Javascript 在范围值中输出HTML输入范围
我在一个页面上使用Javascript 在范围值中输出HTML输入范围,javascript,html,Javascript,Html,我在一个页面上使用RangeSloider.js,希望在要提交的隐藏表单字段中显示该值。隐藏字段只能接受范围格式的值,例如50-205,其中50是范围的最小值,205是通过移动滑块选择的动态数字 目前,该值似乎是从代码中的50-中减去的。我需要做什么才能使其值为50xxx,其中xxx是动态值 <input type="range" value="" min="50" max="800" aria-required="true" aria-invalid="false" data-range
RangeSloider.js
,希望在要提交的隐藏表单字段中显示该值。隐藏字段只能接受范围格式的值,例如50-205
,其中50
是范围的最小值,205
是通过移动滑块选择的动态数字
目前,该值似乎是从代码中的50-中减去的。我需要做什么才能使其值为50xxx
,其中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="" />
从外观上看,您只需要一些引号 使用模板字符串:
oninput="document.getElementById('testfield').value = `50-${this.value}`"
正如@Andreas所指出的,HTMLInputElement#value
将始终返回字符串,因此实际上不需要在此处调用.toString()。但是,如果您想在将来的任何时候使用数字数据类型,则需要深入研究
oninput=“document.getElementById('testfield')。value='50-'+this.value”
从外观上看,您只需要一些引号
使用模板字符串:
oninput="document.getElementById('testfield').value = `50-${this.value}`"
正如@Andreas所指出的,HTMLInputElement#value
将始终返回字符串,因此实际上不需要在此处调用.toString()。但是,如果您想在将来的任何时候使用数字数据类型,则需要深入研究
oninput=“document.getElementById('testfield')。value='50-'+this.value“
这个.toString()
版本是不必要的复杂(this.value
已经是一个字符串,即使它不是字符串,因为'50'
也是一个字符串,它也会在连接时自动转换)并且不会产生请求的输出。至于不正确的输出,哎呀——忘记连字符了。我刚把它修好。至于不必要的复杂,是和否。我知道JS会暗中处理这个问题,但由于问题的简单性和作者可能的低经验水平,我想详细说明转换,而不是强迫他们深入,强制类型的黑洞。HTMLInputElement的.value
属性将始终返回字符串,因此不需要调用.toString()
:非常感谢@IronFlare和Andreas,非常感谢您的帮助和信息。成功了!接得好@Andreas。我编辑了我的答案以包含您的信息。.toString()
版本不必要复杂(此.value
已经是一个字符串,即使它不是字符串,因为'50'
也是一个字符串,它将在串联时自动转换)并且不会产生请求的输出。至于不正确的输出,哎呀——忘记连字符了。我刚把它修好。至于不必要的复杂,是和否。我知道JS会暗中处理这个问题,但由于问题的简单性和作者可能的低经验水平,我想详细说明转换,而不是强迫他们深入,强制类型的黑洞。HTMLInputElement的.value
属性将始终返回字符串,因此不需要调用.toString()
:非常感谢@IronFlare和Andreas,非常感谢您的帮助和信息。成功了!接得好@Andreas。我已经编辑了我的答案以包含您的信息。这是减法,所以如果您希望它是字符串,则使用字符串并进行连接。这是减法,如果您希望它是字符串,则使用字符串并进行连接。
oninput="document.getElementById('testfield').value = '50-'+this.value"