如何使用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
相关产品推荐
相关产品推荐

