嗨,我有一个表单,可以在单击按钮时进行更新。
$scope.action = "Update";
var id = $routeParams.editId;
scope.item = updateRecord.get({ id: id });
项目更新后,它不会删除表单字段中输入的信息。我想知道 angularjs 中有什么可用在 udpating 之后添加到上面的代码中,以便它也清除形成。谢谢
嗨,我有一个表单,可以在单击按钮时进行更新。
$scope.action = "Update";
var id = $routeParams.editId;
scope.item = updateRecord.get({ id: id });
项目更新后,它不会删除表单字段中输入的信息。我想知道 angularjs 中有什么可用在 udpating 之后添加到上面的代码中,以便它也清除形成。谢谢
您可以通过重置表单,$scope.formName.$setPristine();
但是如果您将模型对象绑定到您的输入,您也需要注意清除它们,即:
$scope.currentRecord={};
编辑
正如 ToodoN-Mike 指出的那样,不要忘记设置
$scope.formName.$setUntouched()
该$touched
标志是在 angular 1.3 中引入的。
在提交函数主体的底部运行下面的代码。
// 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
这对我有用。
viewModel.data = {};
$scope.formName.$setUntouched();
$scope.formName.$setPristine();
1) 要删除表单字段中的值并重置您可以使用$setPristine();
$scope.formName.$setPristine();
2) 接下来,也可以使用$setUntouched()将表单设置为 Untouched状态;
(如果您的表单字段中有必填字段,并且如果您使用的是ng-messages,那么如果您不使用以下功能,这些字段将显示错误。)
$scope.formName.$setUntouched();
我不明白这个问题,但也许你可以清理 Html 组件中的表单:
函数:ngSubmit(),发送数据。taskName 是字段的名称,也是 taskBody。
<form (ngSubmit)="onSubmit(taskName.value, taskBody.value); taskName.value=''; taskBody.value=''" #taskForm="ngForm">