我想使用JavaScript代码
使AngularJS表单字段变脏这是HTML代码
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body ng-app="">
<p>Try writing in the input field:</p>
<form name="myForm">
<input name="myInput" ng-model="myInput" required>
</form>
<p>The input's valid state is:</p>
<h1>{{myForm.myInput.$valid}}</h1>
</body>
</html>
&#13;
我尝试使用
document.querySelector('input[name="myInput"]').value="123",
点击,聚焦但没有一个似乎工作/覆盖它。请指导我如何不使用使用AngularJS函数和使用纯JavaScript。
我想将输入的有效状态更改为true
答案 0 :(得分:0)
要从控制台与角色App进行交互,您需要使用
var scope = angular.element(document.getElementById('yourElementId')).scope();
这将为您带来所需的范围,然后将元素设置为脏,您可以使用
scope.myForm.myInput.$setViewValue(scope.myForm.myInput.$viewValue);
答案 1 :(得分:0)
使用:
var $body = angular.element(document.body);
var $scope = $body.data().$scope;
$scope.myForm.myInput.$setDirty();
$scope.$apply();
setTimeout(function() {
var $body = angular.element(document.body);
var $scope = $body.data().$scope;
$scope.myForm.myInput.$setDirty();
$scope.$apply();
}, 1000);
&#13;
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body ng-app="">
<p>Watch dirty state flash from false to true</p>
<form name="myForm">
<input name="myInput" ng-model="myInput" required>
</form>
<p>The input dirty state is:</p>
<h1>{{myForm.myInput.$dirty}}</h1>
</body>
</html>
&#13;