在 ng-Submit 后重置表单并抑制 ng-messages
Reset form after ng-Submit and suppress ng-messages
我有一个表单,当我提交时,我会在提交表单时重新初始化它。然后我显示一条消息并停留在同一页面上。
但是,表单的字段会出现错误消息,因为表单已 "touched"。
如下所示:
我已经阅读了一些关于如何解决这个问题的文章,但 none 对我有用。
我的HTML:
<form name="newPost" ng-submit="makeNewPost()">
<div class="form-group">
<input name="title" maxlength="46" minlength="2" type="text" class="form-control" ng-model="post.title" required="required">
<div ng-messages="newPost.title.$error" ng-if="newPost.title.$touched">
<div class="errorMessage" ng-message="required">Title is mandatory *</div>
</div>
</div>
<input type="submit" value="Submit" class="btn btn-success" id="submit">
我的控制器重置数据的代码:
var resetData = function(){
$scope.post = {};
};
resetData();
当然还有更多的字段,但是要解决这个问题,就用这个简单的代码来演示吧。
任何输入都会有所帮助。谢谢伙计们!
你的 resetData 函数应该是:
$scope.resetData = function(){
$scope.post = {};
$scope.newPost.$setUntouched();
$scope.newPost.$setPristine();
}
其中 newPost 是表单名称和 $setUntouched,$setPristine 将使表单像最初加载的一样原始。在提交函数的末尾调用此函数。
我有一个表单,当我提交时,我会在提交表单时重新初始化它。然后我显示一条消息并停留在同一页面上。
但是,表单的字段会出现错误消息,因为表单已 "touched"。
如下所示:
我已经阅读了一些关于如何解决这个问题的文章,但 none 对我有用。
我的HTML:
<form name="newPost" ng-submit="makeNewPost()">
<div class="form-group">
<input name="title" maxlength="46" minlength="2" type="text" class="form-control" ng-model="post.title" required="required">
<div ng-messages="newPost.title.$error" ng-if="newPost.title.$touched">
<div class="errorMessage" ng-message="required">Title is mandatory *</div>
</div>
</div>
<input type="submit" value="Submit" class="btn btn-success" id="submit">
我的控制器重置数据的代码:
var resetData = function(){
$scope.post = {};
};
resetData();
当然还有更多的字段,但是要解决这个问题,就用这个简单的代码来演示吧。
任何输入都会有所帮助。谢谢伙计们!
你的 resetData 函数应该是:
$scope.resetData = function(){
$scope.post = {};
$scope.newPost.$setUntouched();
$scope.newPost.$setPristine();
}
其中 newPost 是表单名称和 $setUntouched,$setPristine 将使表单像最初加载的一样原始。在提交函数的末尾调用此函数。