提交时无法识别通过Javascript动态填充输入元素
我有这样一个输入:提交时无法识别通过Javascript动态填充输入元素,javascript,html,input,Javascript,Html,Input,我有这样一个输入: <input class="form-control" id="captchaInput" type="text" placeholder="Type characters here" data-reactid=".6.0.1"> document.getElementById("captchaInput").value = captchaValue; 当我尝试提交时,它会说“不匹配”——但如果我手动键入完全相同的内容,它会工作。指定值不会触发任何事件,因此听
<input class="form-control" id="captchaInput" type="text" placeholder="Type characters here" data-reactid=".6.0.1">
document.getElementById("captchaInput").value = captchaValue;
当我尝试提交时,它会说
“不匹配”
——但如果我手动键入完全相同的内容,它会工作。指定值不会触发任何事件,因此听起来就像你在任何页面上执行此操作都希望看到事件一样。(看起来输入是由React控制的,所以我并不感到惊讶,因为React将值与控件分开,并在事件发生时更新。)
您可能希望以编程方式触发事件,可能是input
。说出如何做到这一点,例如:
const input = document.getElementById("captchaInput");
input.value = captchaValue;
input.dispatchEvent(new Event("input", {
bubbles: true,
cancelable: true
}));
…但有关Internet Explorer的详细信息和处理方法,请参见链接问题的答案(IE部分可能不适用于IE11,请先尝试上面的方法)。您是否可以发布一些javascript代码,其中给出的错误与不匹配?那会很有帮助的。就是这样!非常感谢。