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

如何使用JavaScript为带校验功能的邮箱输入框正确赋值

JavaScript操作输入框赋值后提交内容丢失的解决方案

我尝试通过JavaScript向邮箱输入框中写入邮箱地址,看似简单的操作却始终无法成功,怀疑是输入框自带的校验机制导致的问题。

我已经尝试过以下写法:

document.getElementsByClassName('sc-kEYyzF mqvXI')[0].setAttribute("value", "xyz@gmail.com");
document.getElementById("email").value = "xyz00@gmail.com";

但点击提交按钮后,输入框内的内容就会消失,测试站点为https://welcome.onelog.ch/。

可行实现代码

感谢@epascarello的帮助,参考其给出的代码找到了正确的解决方案:

let lastValue = input.value;
input.value = 'xyz@gmail.com';
let event = new Event('input', { bubbles: true });
event.simulated = true;
let tracker = input._valueTracker;
if (tracker) {
  tracker.setValue(lastValue);
}
input.dispatchEvent(event);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:48:03