【发布时间】:2018-12-05 08:35:05
【问题描述】:
设置元素的value 不起作用。它不像用户打字。当我提交这个输入时,弹出窗口告诉我我根本没有填写输入。我怎样才能像用户一样填充这个输入元素?
<div class="login-input input-group" data-ng-class="{'invalid' : !valid}">
<input id="alias-input" type="text" class="form-control ng-pristine ng-valid ng-empty ng-valid-maxlength ng-touched" tabindex="1" data-ng-model="formData.alias" data-ng-keydown="sendAlias($event)" maxlength="10" data-gemius-event="click" data-gemius-parameters="['place=login','inputbox=login','met=onclick']"
spellcheck="false">
</div>
我试过了:
angular.element(document.querySelector("#alias-input")).val("foo");
document.getElementById('alias-input').value = 'foo';
【问题讨论】:
-
我不是这个网站的开发者。我想创建自动测试,但在填写此输入时遇到问题。
-
你用什么添加测试?任何框架?
-
@xyz 我正在使用 Watin。
-
@Chellappan 这是他正在谈论的 angularjs。所以这个文档的链接是不相关的,它是错误的框架。
-
@Dafie 您的问题是 data-ng-model 会覆盖您在摘要周期中对值所做的任何更改。因此,您需要在任何摘要周期结束后设置该值,或者如果您可以保证以某种方式发生了最后一个摘要周期,请更改该值。
标签: javascript angularjs