Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在范围值中输出HTML输入范围_Javascript_Html - Fatal编程技术网

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"