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

EJS中点击reset按钮无法清空查询条件输入框的问题求助

问题解决:Reset按钮无法清空查询条件

问题原因

  1. document.setting 依赖表单设置name="setting"属性,若表单未配置该属性,将无法正确获取输入框元素。
  2. 当前代码未处理下拉选单warehouse_id的重置逻辑。
  3. 原生<input type="reset">的默认行为是将表单恢复到页面加载时的EJS渲染初始值,而非清空状态,会与自定义清空逻辑冲突。

修复方案

完整修改后的Reset按钮事件代码

<script>
var reset = document.getElementById("resetbtn");
reset.addEventListener("click", function(e) {
  // 阻止原生reset默认行为,避免恢复到EJS渲染的初始值
  e.preventDefault();

  // 移除查询结果(加判断避免元素不存在时报错)
  var tmain = document.getElementById("tmain");
  var pagingul = document.getElementById("pagingul");
  if(tmain) tmain.remove();
  if(pagingul) pagingul.remove();

  // 清空三个输入框
  document.querySelector('input[name="part_id"]').value = "";
  document.querySelector('input[name="lotno"]').value = "";
  document.querySelector('input[name="part_name"]').value = "";

  // 重置下拉选单到默认的*选项
  document.getElementById("warehouse_id").value = "*";
}, false);
</script>

关键优化点

  • 改用document.querySelector/getElementById直接获取元素,避免依赖不确定的document.setting引用。
  • 调用e.preventDefault()阻断原生reset的默认行为,确保自定义清空逻辑生效。
  • 给DOM元素移除操作增加存在性判断,防止页面无查询结果时抛出空指针错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:05:03