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

请教:将Name与Surname合并为CombinedNameSurname的JS代码是否正确?

问题分析与修正方案

Hi Marius, let's break down your code and fix the issues keeping it from working correctly:

主要问题点

  • 错误清空合并结果:你在把Field1.value + Field2.value赋值给Field3.value后,立刻又执行了Field3.value = '',这直接把刚合并好的内容清空了,这是最核心的问题。
  • 缺少输入字段:你的HTML里只添加了按钮,但没有定义id为Name、Surname、CombinedNameSurname的输入框,浏览器会找不到这些元素,导致函数执行报错。

修正后的完整代码

<html>
<body>
  <!-- 添加三个输入字段,对应你的三个字段 -->
  <input type="text" id="Name" placeholder="输入Name">
  <input type="text" id="Surname" placeholder="输入Surname">
  <input type="text" id="CombinedNameSurname" placeholder="合并结果" readonly>
  
  <button onclick="copy()">Add Qualification</button>

  <script type="text/javascript">
    function copy() {
      const field1 = document.getElementById("Name");
      const field2 = document.getElementById("Surname");
      const field3 = document.getElementById("CombinedNameSurname");
      
      // 合并前两个字段的值,这里加个空格分开名字和姓氏更合理
      field3.value = field1.value + ' ' + field2.value;
      
      // 如果需要清空前两个字段,保留这行;不需要的话可以删掉
      field1.value = '';
      // 注意:不要清空field3的值!
    }
  </script>
</body>
</html>

额外优化说明

  • 我把变量名改成了小写开头(field1而非Field1),这是JavaScript的常规命名规范,能提升代码可读性。
  • 在合并时添加了一个空格' ',这样名字和姓氏之间不会连在一起(比如输入"John"和"Doe"会得到"John Doe"而不是"JohnDoe"),如果不需要这个空格可以直接去掉。
  • 给CombinedNameSurname字段加上了readonly属性,防止用户手动修改合并结果,要是需要允许修改的话可以去掉这个属性。

这样修改后,点击按钮就能正确把前两个字段的内容合并到第三个字段里了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:45:21