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

如何用JavaScript重置number类型输入框?计算器重置功能失效求助

解决clear()函数无法清除输入框的问题

你的自定义clear()函数没生效,核心原因是**clear是浏览器内置的全局方法**(对应document.clear(),用来清除文档内容),当你在内联onclick="clear()"里调用时,浏览器会优先触发内置方法,根本没执行你写的函数。

下面是两种可行的解决办法:

方法1:重命名自定义函数

把你的函数改成别的名字,避免和内置方法冲突,同时更新按钮的点击事件:

<!-- 更新按钮的onclick属性 -->
<button onclick="clearInputs()">Reset</button>

<script>
  // 重命名函数为clearInputs
  function clearInputs()
  {
    var length = document.getElementById('length');
    var height = document.getElementById('height');
    var width = document.getElementById('width');

    length.value = "";
    height.value = "";
    width.value = "";
  }
</script>

方法2:用事件监听替代内联onclick

如果不想改函数名,可以通过JS绑定点击事件,绕开内联事件的作用域冲突:

原生JS实现

<!-- 移除按钮的内联onclick,给按钮加个id -->
<button id="resetBtn">Reset</button>

<script>
  function clear()
  {
    var length = document.getElementById('length');
    var height = document.getElementById('height');
    var width = document.getElementById('width');

    length.value = "";
    height.value = "";
    width.value = "";
  }

  // 绑定点击事件
  document.getElementById('resetBtn').addEventListener('click', clear);
</script>

jQuery实现(你已经引入了jQuery)

<button id="resetBtn">Reset</button>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
  function clear()
  {
    // 用jQuery简化选择和赋值
    $('#length, #width, #height').val('');
  }

  // 绑定点击事件
  $('#resetBtn').click(clear);
</script>

补充说明:你原本的清空逻辑是对的,number类型输入框设置value=""确实能清空内容,只是函数名冲突导致代码没被执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 03:15:36