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

如何在input2中追加随机数而非替换输入值?JS代码问题排查

问题与解决方法

我在input2中设置值时,RanNum完全替换了输入值,希望将它追加到输入值后面,请问代码哪里出错了?当input1输入为"hey hey"时,我希望另外三个输入框的输出为:

heyhey7@gmail.com(7是随机生成的RanNum)
heyhey@gmail.com
heyhey@gmail.com


原代码

JavaScript

var min = 1;
var max = 9;
var RanNum = Math.floor(Math.random() * (max - min + 1)) + min;
  
var input1 = document.getElementById('first_name');
var input2 = document.getElementById('email');
var input3 = document.getElementById('username');
var input4 = document.getElementById('location');

input1.addEventListener('change', function() {
  input2.value = input1.value.replace(/\s+/g,'').trim().value=RanNum + "@gmail.com";
  //input2.value = input1.value.replace(/\s+/g,'').trim() + .value=RanNum + "@gmail.com";
  input3.value = input1.value.replace(/\s+/g,'').trim() + "@gmail.com";
  input4.value = input1.value.replace(/\s+/g,'').trim() + "@gmail.com";
});

HTML

<input type="text" id="first_name" />
<input type="text" id="email" />
<input type="text" id="username" />
<input type="text" id="location" />

错误原因

你给input2赋值的代码逻辑错误:

input2.value = input1.value.replace(/\s+/g,'').trim().value=RanNum + "@gmail.com";

这里input1.value.replace(/\s+/g,'').trim()返回的是字符串,字符串没有.value属性,且连续赋值的写法会让最终input2.value被赋值为RanNum + "@gmail.com",直接覆盖了前面处理好的输入值,导致看不到输入值的部分。

修正后的代码

把input2的赋值语句改成字符串拼接形式,将处理后的输入值、RanNum和邮箱后缀连在一起即可,同时建议把处理后的输入值存为变量,避免重复调用方法,让代码更简洁:

var min = 1;
var max = 9;
var RanNum = Math.floor(Math.random() * (max - min + 1)) + min;
  
var input1 = document.getElementById('first_name');
var input2 = document.getElementById('email');
var input3 = document.getElementById('username');
var input4 = document.getElementById('location');

input1.addEventListener('change', function() {
  const processedValue = input1.value.replace(/\s+/g,'').trim();
  input2.value = processedValue + RanNum + "@gmail.com";
  input3.value = processedValue + "@gmail.com";
  input4.value = processedValue + "@gmail.com";
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:55:22