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

HTML与JavaScript新手求助:如何将单词统计结果写入只读文本框

问题修复方案

你的代码存在几个关键问题导致结果无法正常显示,以下是修正后的完整代码及问题说明:

修正后的完整代码

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>input details </p>

<textarea id="input"></textarea>  

<div>
<br>
<button onclick="myfunction()">submit</button> 
        <br>
        <p>result </p>
      
      <input type="text" id="result" size="2" readonly>
        </div>
        
<script>  
        function myfunction() { 
        // 获取输入框内容
        var val = document.getElementById("input").value;  
        // 声明单词统计变量
        let words = 0;
        // 排除空输入的情况
        if (val.trim() !== "") {  
            // 处理首尾空格+合并多空格,再分割统计有效单词数
            words = val.trim().replace(/\s+/gi, ' ').split(' ').length; 
        }
        // 将统计结果写入只读文本框
        document.getElementById("result").value = words;
        }
</script>

</body>
</html>

关键修改点说明

  • 给结果输入框添加唯一ID:原结果<input>没有id属性,JS无法定位到目标元素,新增id="result"用于获取该文本框
  • 补全函数结构:你的myfunction函数缺少if语句的闭合}和函数本身的闭合},导致代码无法正常执行
  • 优化单词统计逻辑:新增trim()处理文本首尾空格,避免因首尾空格导致统计出无效的空字符串;用let声明words变量,避免全局变量污染
  • 添加结果赋值逻辑:新增document.getElementById("result").value = words;,将计算得到的单词数写入目标只读文本框
  • 移除冗余代码:删除了无意义的var name = document.getElementById("input").value;语句

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:03:20