提交表单后如何清除输入字段?

时间:2014-06-10 03:06:20

标签: angularjs

这是不必要的困难之一。我只想在提交表单后清除输入字段。我该怎么做呢?我已经尝试过以下代码,但它不起作用。

<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
};

我做错了什么?

3 个答案:

答案 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 = ''; 
  };