Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提交时无法识别通过Javascript动态填充输入元素_Javascript_Html_Input - Fatal编程技术网

提交时无法识别通过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代码,其中给出的
错误与
不匹配?那会很有帮助的。就是这样!非常感谢。