【问题标题】:How do I clear an input field after submitting a form?提交表单后如何清除输入字段?
【发布时间】:2014-06-10 03:06:20
【问题描述】:

这是一种不必要的困难。我只想在提交表单后清除输入字段。我该怎么做呢?下面的代码我试过了,还是不行。

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

我做错了什么?

【问题讨论】:

标签: angularjs


【解决方案1】:

问题是您在以下几行遇到错误:

$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

【讨论】:

    【解决方案2】:

    这是我创建的一个 plunker..

    http://plnkr.co/edit/NdS5rUJ8uAqb8mhBsOBr?p=preview

    所做的是在 ng-submit 上传递 ng-model 并在 myField 范围内添加一个字段以正确形成生成的模型。

    【讨论】:

      【解决方案3】:

      我刚做了这个,效果很好

          $scope.submitForm = function(){
          $scope.myField = ''; 
        };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-09
        • 1970-01-01
        • 2020-11-04
        • 2022-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-14
        相关资源
        最近更新 更多