当我尝试使用angular.element获取input元素的值时,返回undefined。 这是我的代码:
$scope.registerUser = function() {
console.log(angular.element('#username').value); // undefined
console.log(document.getElementById('username').value); // sampleName
};
如何使用angular.element
获取值答案 0 :(得分:19)
console.log(angular.element('#username').val());
或者,您可以使用纯HTMLInputELement的<{1}}属性:
value
...因为console.log(angular.element('#username')[0].value);
实例是一个类似于数组的类似于HTMLElements的集合,其索引可以访问每个元素。
但是......你永远不应该在Angular应用程序的上下文中读取这样的输入值。相反,使用ngModel指令并直接将输入值绑定到角度模型:
angular.element
你在HTML中的位置
$scope.registerUser = function() {
console.log($scope.username);
};
答案 1 :(得分:2)
这对我有用
angular.element(document.getElementById('username')).val();
答案 2 :(得分:0)
与jQuery中的方式相同,angular.element
是一个包装器/子包:
angular.element('#username').val();
答案 3 :(得分:0)
除了以上方式, 这些也可以使用:
angular.element('[id="username"]').val();
angular.element('[id="username"]')[0].value;
答案 4 :(得分:0)
对于AngularJS 2+,您可以使用以下选项。
(<HTMLInputElement>document.getElementsByName("username")[0]).value
(<HTMLInputElement>document.getElementsById("username")[0]).value
答案 5 :(得分:0)
在我的angular-7项目中,我使用这些语句解决了问题。
var field = document.getElementById('elementId');
var currentValue= field.getAttribute('value');
field.setAttribute('value','newValue');