使用javascript填充角度输入

时间:2018-12-05 08:35:06

标签: javascript angularjs

设置元素的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';

2 个答案:

答案 0 :(得分:0)

您可以为html中的输入元素设置ng-model属性,例如:ng-model =“ inputValue”。在此视图的控制器中,注入$ scope之后,现在可以设置$ scope.inputValue =“ foo”,它将自动更新输入值。

希望有帮助。

答案 1 :(得分:0)

这对我有用:

const event = new Event('input', { bubbles: true }); 
document.querySelectorAll('[formcontrolname = "idNumber"]')[0].value = '123456789';
document.querySelectorAll('[formcontrolname = "idNumber"]')[0].dispatchEvent(event);

这已在Ionic 3.9.2和Angular 5.0.3的页面上进行了测试