javascript - 使用javascript填充角度输入
问题描述
设置元素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';
解决方案
这对我有用:
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 的页面上测试的
推荐阅读
- python - 如何将 xml 动态转换为 csv
- javascript - 我有一组索引和品种,我想列出可能的排列
- wix - Wix 工具集 - 如何使用二进制文件
- detect - iOS14 - CMMotionActivityManager startActivityUpdatesToQueue 不工作
- node.js - Async callback was not invoked jest/supertest - simple endpoint
- r - 在 R 中的内核上循环的 SVM 回归错误
- java - Is Java thread a daemon 'if and only if' the creating thread is a daemon?
- sql - Azure SQL如何获取满足条件的数组中的第一个元素
- javascript - Javascript是否可以使用file.js和脚本
- c# - 使用 C# 创建与数据库值相关的动态文本框