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

JavaScript实现输入框内容隔位字母大写后页面展示的问题排查

问题原因

你的代码问题出在输入框值的获取时机错误:
你将输入框值的读取逻辑写在了全局作用域,这行代码会在JS文件加载完成、页面初次渲染时就执行,此时用户还未在输入框输入内容,后续点击按钮时也不会重新读取输入框的最新值,所以处理逻辑永远拿不到用户输入的内容,自然无法正常生成结果。

修复方案

把输入框值的读取逻辑移到点击触发的tekstEndrer函数内部,保证每次点击按钮时都能拿到用户输入的最新内容。

修正后的JS代码
document.querySelector('input[type=button]').addEventListener("click", function(){tekstEndrer();});

const tekstEndrer = () => {
  // 每次触发函数时读取输入框最新值
  const tekst = document.getElementById("tekstInput").value;
  let res = "";
  for (let i = 0; i < tekst.length; i++) {
    res += i % 2 == 0 ? tekst.charAt(i).toUpperCase() : tekst.charAt(i);
  }
  // 如果不需要渲染HTML标签,推荐用textContent代替innerHTML更安全,避免XSS风险
  document.getElementById("nyTekst").textContent = res;
}
可选优化点
  • 可以给输入框加回车触发逻辑,提升使用体验:给tekstInput绑定keyup事件,判断按下的是回车键时直接调用tekstEndrer方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:36:03