当我提交表单时,我想要一些输入元素为$ setPristine。因为在我提交表单后,我会将模型绑定到输入元素,以防用户可以再次输入新内容。但是一旦我清空了模型,输入元素也会清空,因此验证信息会显示required
。
所以我在提交表单后想要$ setPristine。我找到了两种方法:
一:
我在ng-submit
中使用表达式,如:
<form ng-controller="FormController" name="userForm" ng-submit="userForm.$valid?submitForm(),userForm.keywordsInput.$setPristine(): ''">
但是这种语法看起来很糟糕,因为控制台中的角度报告错误信息。
两个
我可以将表单传递给submit函数,然后将$ setPristine传递给submit函数:
$scope.submit = function (form) {
form.keywordsInput.$setPristine()
}
但我也不这是一个好习惯,因为在角度官方参考网站上,它建议:
不要使用控制器:操纵DOM。
这是一种操纵DOM吗?
那么有更好的方法来完成这项工作吗?
答案 0 :(得分:0)
我有同样的问题记录undefined $ setPristine()。但是,在视图中它有效。
<button class="button button-stable button-block " type="submit" ng-click="register(registerData);formName.$setPristine();"> Submit </button>