gpt4 book ai didi

javascript - AngularJS:提交表单后如何 $setPristine

转载 作者:行者123 更新时间:2023-11-28 07:00:16 25 4
gpt4 key购买 nike

当我提交表单时,我希望某些输入元素为 $setPristine。因为在提交表单后,我将清空绑定(bind)到输入元素的模型,以防用户完全可以再次输入新内容。但是,一旦我清空模型,输入元素也会清空,因此将显示 required 的验证信息。

所以我想要在提交表单后 $setPristine 。我想出了两种方法:

一:

我在ng-submit中使用表达式,例如:

<form ng-controller="FormController" name="userForm" ng-submit="userForm.$valid?submitForm(),userForm.keywordsInput.$setPristine(): ''">

但是这个语法似乎很奇怪,因为 Angular 在控制台中报告错误信息。

两个

我可以将表单传递给提交函数,然后在提交函数中传递 $setPristine :

$scope.submit = function (form) {
form.keywordsInput.$setPristine()
}

但我也不认为这是一个好的做法,因为在 Angular 官方引用网站中,它建议:

Do not use controllers to:Manipulate DOM.

这是一种操纵 DOM 的方式吗?

那么有没有更好的方法来完成这项工作?

最佳答案

我在记录未定义的 $setPristine() 时遇到了同样的问题。但是,在我看来它是有效的。

<button class="button button-stable button-block " type="submit" ng-click="register(registerData);formName.$setPristine();"> Submit </button>

关于javascript - AngularJS:提交表单后如何 $setPristine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32216395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com