这是不必要的困难之一。我只想在提交表单后清除输入字段。我该怎么做呢?我已经尝试过以下代码,但它不起作用。
<form name="myForm" ng-submit="submitForm()">
<input type="text" name="myField" ng-model="myField">
<button type="submit">Submit</button>
<form>
$scope.submitForm = function(){
$scope.myField.$setPristine(); // doesn't work
$scope.myField.$setPristine(true); // doesn't work
$scope.myField = ''; // doesn't work
};
我做错了什么?
答案 0 :(得分:4)
问题是您在这些方面遇到错误:
$scope.myField.$setPristine(); // doesn't work
$scope.myField.$setPristine(true); // doesn't work
纠正这个用法:
$scope.myForm.myField.$setPristine();
$scope.myForm.myField.$setPristine(true);
$scope.myField = '';
要引用表单上的项目,您必须首先参考表单。
这是一个显示此示例的工作fiddle
答案 1 :(得分:1)
这是我创造的一个傻瓜..
http://plnkr.co/edit/NdS5rUJ8uAqb8mhBsOBr?p=preview
做了什么是在ng-submit上传递ng-model并在myField范围上添加一个字段以正确形成生成的模型。
答案 2 :(得分:0)
我刚刚做到了,并且奏效了
$scope.submitForm = function(){
$scope.myField = '';
};