您好我有一个表单,按钮点击更新。
$scope.action = "Update";
var id = $routeParams.editId;
scope.item = updateRecord.get({ id: id });
项目更新后,不会删除表单字段中输入的信息。我想知道在udpating之后在上面的代码中添加的angularjs中有什么可用,以便它也可以清除形式。 谢谢
答案 0 :(得分:67)
您可以按$scope.formName.$setPristine();
重置表单,但如果您将模型对象绑定到输入,则还需要清除那些,即:
$scope.currentRecord={};
修改强>
正如ToodoN-Mike指出的那样,不要忘记设置
$scope.formName.$setUntouched()
{1.3}中引入了$touched
标记。
答案 1 :(得分:46)
在提交功能的底部,运行以下代码。
// Reset the form model.
vm.project = {};
// Set back to pristine.
vm.form.$setPristine();
// Since Angular 1.3, set back to untouched state.
vm.form.$setUntouched();
" vm.form"是我的表格名称。
有关详细信息,请查看此文档页面: https://docs.angularjs.org/api/ng/type/form.FormController
答案 2 :(得分:9)
这对我有用。
viewModel.data = {};
$scope.formName.$setUntouched();
$scope.formName.$setPristine();
答案 3 :(得分:3)
1)要删除表单字段中的值并重置,您可以使用$setPristine();
$scope.formName.$setPristine();
2)接下来,要将表单设置为Untouched State,请使用$setUntouched();
(如果您在表单字段中有必填字段,如果您使用 ng-messages ,那么如果您不使用以下功能,那么这些字段将显示错误。)
$scope.formName.$setUntouched();
答案 4 :(得分:1)
我不明白这个问题,但也许你可以在Html组件中清理表单:
功能:ngSubmit(),发送数据。 taskName是字段的名称,也是taskBody。
<form (ngSubmit)="onSubmit(taskName.value, taskBody.value); taskName.value=''; taskBody.value=''" #taskForm="ngForm">