【发布时间】:2015-07-19 06:35:52
【问题描述】:
我正在尝试在浏览器扩展程序中运行 javascript,以自动完成在网站上填写表单然后单击按钮的过程——可以通过在地址栏中键入 javascript:code 来模拟扩展程序代码。
我遇到问题的网站使用angularJS。我有输入字段 ID 的名称,并且正在使用这些名称来更改输入字段值。字段已填满,但是当我单击按钮时,它说它们未填写,没有值,而且它们都出错了。一些验证正在进行,除非我手动输入值,否则不会“看到”我的更改。
是否有一种简单的方法来更改仅使用输入字段的 id 进行验证的 AngularJS 输入字段的值。
代码如下:
<input id="shippingAddr-first-name" type="text" class="first-name ng-pristine ng-valid" maxlength="16" data-ng-model="addressTypes[addressType].FirstName" focus-me="commonAddressTypeProps[addressType].focusOnFirstName" client-validation="onExit" data-required-on-exit="">
我尝试使用
document.getElementById("shippingAddr-first-name").value="Dave";在提交表单时更改字段但未正确注册。但是,如果我手动输入它,它确实有效。我还尝试过click()、blur() 和focus(),以模拟我可能手动执行的一些操作,但这些操作也不起作用。
【问题讨论】:
-
你在使用 jQuery 吗?我认为如果你使用 jQuery 会容易得多。
-
我没有使用 jquery。
标签: javascript angularjs input