Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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_Angularjs - Fatal编程技术网

Javascript 如何让浏览器检测输入字段值的变化?

Javascript 如何让浏览器检测输入字段值的变化?,javascript,angularjs,Javascript,Angularjs,我目前正在使用Javascript创建一个Google Chrome扩展,并尝试在加载页面时自动填充信用卡输入字段。我试着选择JS路径并设置如下值: cardNumber = document.querySelector("#cardNumber-input") cardNumber.value = "1111 1111 1111 1111" 这确实会显示在输入字段中,但是浏览器不会检测到输入,除非我手动修改其中一个数字。我在谷歌上搜索了一下,这可能与输

我目前正在使用Javascript创建一个Google Chrome扩展,并尝试在加载页面时自动填充信用卡输入字段。我试着选择JS路径并设置如下值:

cardNumber = document.querySelector("#cardNumber-input")
cardNumber.value = "1111 1111 1111 1111"
这确实会显示在输入字段中,但是浏览器不会检测到输入,除非我手动修改其中一个数字。我在谷歌上搜索了一下,这可能与输入字段是用AngularJS编写的有关(我不完全确定,但这就是元素在检查时的样子)


为了提供一些上下文,当我手动键入数字时,元素中的“ng invalid”更改为“ng valid”。我使用python中的Selenium和sendKeys()函数尝试过这样做,效果很好。是否有其他方法来设置输入字段的值,或者是否需要编写任何代码来允许输入字段实际检测其中的值?提前谢谢


顺便说一句,这是对向我提出类似问题的其他人的回答。有人提到该网站使用“AngularJS,它使用名为ng change的方法更新其模型,该方法在通过javascript设置输入值时不会更新”。但是问题没有答案。

cardNumber.dispatchEvent(新CustomEvent('change'))发送输入事件效果很好。

cardNumber.dispatchEvent(新CustomEvent('change'))发送输入事件效果很好。

您是否尝试过
cardNumber.dispatchEvent(新CustomEvent('change'))
之后,或者分派
输入
事件?cardNumber。分派事件(new CustomEvent('change'))仅在chrome控制台中返回true。输入字段仍然没有检测到输入。@AndreaGiammarchi调度输入事件对我有效!非常感谢你!您是否尝试过在之后分派事件(new CustomEvent('change')),或分派事件(cardNumber)。分派事件(new CustomEvent('change'))仅在chrome控制台中返回true。输入字段仍然没有检测到输入。@AndreaGiammarchi调度输入事件对我有效!非常感谢你!
<input _ngcontent-ng-cli-universal-c30="" type="text" name="cardNumber" id="cardNumber-input" autocomplete="cc-number" required="" maxlength="23" ccnumber="" class="form-control ng-pristine ng-invalid ng-touched">