有没有办法将范围输入的默认值设置为空?

新手上路,请多包涵

我有一个 HTML5 范围输入

<input name="testing" type="range" min="0" max="10" step="1">

当没有设置属性“值”时,它将默认值设置为中间值(即本例中的 5)。有没有办法让它变空,这样我就知道用户是否主动输入了一些东西?

我有另一个用于显示值的 div。一开始这个值是“?”,所以用户会知道他们没有输入任何东西。问题是如果未主动设置值,则防止输入向后端提交值。

原文由 cytsunny 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 288
2 个回答

不幸的是,这是对 [type=range] 元素的限制:

默认值是最小值加上最小值和最大值之差的一半,除非最大值小于最小值,在这种情况下默认值为最小值。

HTML5 规范

如果您除了使用此元素别无选择,我建议您在范围内添加一个额外的值,然后在验证表单时检查该值。 也就是说,如果您当前的范围是 0 到 10,则将范围设置为 -1 到 10,然后将值默认为 -1;在验证端,检查值是否不等于 -1。

原文由 James Donnelly 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以添加一个属性“值”,并设置为 0,例如:

<input type="range" min="0" max="10" value="0" />

我希望它能帮助你

原文由 Safuh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题