使用错误的 ng 模式重置 angularjs 表单字段
Reset angularjs form fields with wrong ng-pattern
`http://plnkr.co/edit/kAt9B3GrO8m8TT7lUHt6?p=preview`
嘿,朋友们,您能否告诉我如何在更少的步骤中重置表单值,而不是使每个值都为空?
我有一个允许字母表的模式,当我尝试重置表单时,我希望输入和错误消息都消失。 $setPristine只有在我输入正确的模式并重置时才清除表单,但我希望错误的输入(如 453453/=-=- (在重置时与其错误样式一起消失。
请帮忙..
如果您希望重置所有字段,您可以按照角度文档示例并使用主控形状复制数据。
如果您只想重置无效字段,则需要检查每个字段并在它们无效时重置它们。
更新您的弹道机。
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, $compile) {
'use strict';
$scope.master = {
name: ""
};
$scope.data = angular.copy($scope.master);
$scope.reset = function() {
$scope.data = angular.copy($scope.master);
$scope.form.$setPristine();
}
});
http://plnkr.co/edit/3gFGSjA9kArzn7uNanIu?p=preview
我已经解决了这个问题,如下所示:
var input = angular.element('#[inputId]').val();
通过这种方式,您可以访问每个无效字段的值,并仅在范围中的值未定义时才检查此值。就我而言,所有范围字段之前都配置了 null 值,这样我可以轻松识别使用 ng-pattern 指令无效的字段。
例:
$scope.reset = function() {
if($scope.formValues === undefined){
var input1 = angular.element('#inputId1').val("");
var input2 = angular.element('#inputId2').val("");
}
else{
...
}
}
相关文章:
- 如何从AngularJS表单输入中生成一个永久变量
- AngularJS:表单提交没有返回JSON中的值
- AngularJS表单使用控制器和服务发布
- 文本字段的AngularJS表单
- Angularjs-表单发布数据未发布
- AngularJS-表单验证,如何滚动到第一个无效输入
- AngularJS表单未加载
- 一段时间后隐藏与 angularjs 表单验证一起显示的错误标签
- AngularJS 表单验证 - 类型错误:无法设置未定义的属性“整数”
- Angularjs - 表单验证
- AngularJS表单,检查有效性
- AngularJS表单提交和重定向
- 在验证完成之前,AngularJS 表单$valid设置为 true
- AngularJS表单保持$dirty手动设置每个输入$pristine
- Angularjs - 表单验证 - 简化
- AngularJS表单验证不起作用
- 在提交 AngularJS 表单时显示元素
- 为什么不是't正在调用AngularJS表单处理程序方法
- angularjs表单提交的数据为空
- 在angularjs表单验证中强制ng脏