You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在禁用的number类型输入框中保留步长调节功能

实现方法

disabled属性会完全禁用输入框的所有交互能力,包括步进箭头的点击事件,因此无法直接用该属性实现需求,你可以通过readonly属性配合事件拦截、样式模拟达到目标:

修改后的代码

<input 
  name="deroga" 
  type="number" 
  class="form-control form-control-disabled" 
  step=".01" 
  value="127.05"
  readonly
  onkeydown="return false"
>

各配置说明

  • readonly属性:限制输入框无法手动输入内容,但不会屏蔽步进箭头的点击交互,同时输入框会正常参与表单提交
  • onkeydown="return false":拦截所有键盘操作,避免用户通过方向键、删除键修改数值,不需要限制键盘操作可删除该配置
  • 新增的form-control-disabled类用于模拟禁用状态的样式,配套CSS如下:
.form-control-disabled {
  background-color: #e9ecef;
  opacity: 1;
  cursor: default;
  /* 可补充和你项目中禁用输入框一致的其他样式 */
  /* 如需禁止选中输入框内容,可添加下面的属性 */
  /* user-select: none; */
}

额外说明

如果你的项目使用Vue、React等框架,不要使用内联onkeydown写法,改为在框架对应的键盘事件回调中调用e.preventDefault()阻止默认行为即可。
如果你需要模拟原disabled属性不参与表单提交的特性,可以在表单提交前移除该输入框的name属性,或者单独处理提交参数过滤该字段。

内容的提问来源于stack exchange,提问作者CuriousPanda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 12:06:08