手动将脏设置为字段不会修改 css 类 angularJS
Manually Setting dirty to a field does not modifies the css classes angularJS?
我有一个使用角度js的表单。在表单提交时,如果字段无效,我将字段设置为脏。但问题是,即使在将字段设置为脏之后,它也不会更改字段上的 CSS 属性。 ng-pristine
类仍然保留在这些元素上。将字段设置为脏后,它不会将类更改为ng-dirty
。
提交表单后,您可以看到错误消息,但它没有应用 ng-dirty
css 类。
var sampleApp = angular.module("sampleApp", []);
sampleApp.controller('sampleCtrl', ['$scope', '$http', '$timeout',
function($scope, $http, $timeout) {
$scope.userData = {
fname: "",
lname: ""
};
$scope.submitted = false;
$scope.submitForm = function(registrationForm) {
$scope.registrationForm.fname.$dirty = true;
$scope.registrationForm.lname.$dirty = true;
if (registrationForm.$invalid) {
alert("form validation error.");
return;
} else {
alert("form submitted successfully.");
}
}
}
]);
input.ng-invalid {
border: 1px solid red;
}
input.ng-valid {
border: 1px solid green;
}
input.ng-pristine {
border-color: #FFFF00;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
<script src="script.js"></script>
<html ng-app="sampleApp">
<body ng-controller="sampleCtrl">
<form name="registrationForm" ng-submit="submitForm(registrationForm)" novalidate>
First Name*
<br>
<input type="text" name="fname" ng-model="userData.fname" required>
<span ng-show="registrationForm.fname.$dirty && registrationForm.fname.$error.required">
First name is required.
</span>
<br>Last Name*
<br>
<input type="text" name="lname" ng-model="userData.lname" required>
<span ng-show="registrationForm.lname.$dirty && registrationForm.lname.$error.required">
Last name is required.
</span>
<br>
<br>
<input type="submit" value="Submit">
</form>
</body>
</html>
替换
$scope.registrationForm.lname.$dirty
跟
$scope.registrationForm.lname.$setDirty();
$setDirty();
将窗体设置为脏状态。
可以调用此方法来添加"ng-dirty"类并设置表单 到脏状态(ng-脏类)。此方法还将传播到 父窗体。
AngularJS Doc
相关文章:
- 使用jQuery修改CSS的好处
- HTML&JS-如何修改CSS类的属性
- 如何使用带包装器的Javascript/jQuery动态修改CSS类
- 使用 angularJs 修改 css.height 会导致 Internet Explorer 无法滚动到页面底部
- 动态修改CSS-适用于IE9,但不适用于Chrome和Firefox
- 需要一种更好的方法来大规模修改css类
- 如何在硒中按类名修改 css
- 通过 javascript 通过增量修改 CSS 背景位置
- 修改 CSS 内容编辑器 yui
- 手动将脏设置为字段不会修改 css 类 angularJS
- 如何在 JavaScript 中动态设置和修改 CSS
- 为什么当媒体查询更新 CSS 规则时,修改 CSS 规则会失败
- 使用 JavaScript 或 jQuery 修改 CSS 规则
- 使用JavaScript修改CSS选择器:之后
- 如何修改CSS或JS文件从“;具体化:具体化;Meteor包装
- 使用Javascript用户输入修改CSS
- 如何在渲染前在窗口调整大小事件中修改CSS
- 哪个更快?-修改css属性或在jquery中添加类
- 使用jQuery修改CSS类的名称-在加载时不起作用
- 使用jQuery选择元素并放入数组以修改css