仅显示输入是否被触摸的数据 - AngularJs

时间:2016-03-10 10:40:52

标签: javascript angularjs

我正在制作一个简单的程序,输入数据只有在输入被触摸一次时才显示。但是,我无法获得预期的结果,因为span中没有显示任何内容(此外,控制台中没有错误)。有人可以帮我吗?

HTML:

<html>
<head>
    <!-- Script Files --> 
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular.js"></script>

</head>
<body ng-app="myApp" ng-controller="myCtrl">
    <input type="text" name="person" ng-model="name"/><span ng-show="person.$touched">{{name}}</span>
    <script>
    //module declaration
    var app = angular.module('myApp',[]);
    //controller declaration
    app.controller('myCtrl', function($scope) {
        $scope.name = "Enter Name";
    });
    </script>
</body>
</html>
  

注意:

     

我不能在此页面中使用任何表格。我必须使用 ng-touching,ng-untouched,ng-prestine 计算 ng-show 事件 - 但不以任何形式结束。

1 个答案:

答案 0 :(得分:1)

如果您只担心表单标记,可以使用ng-form属性。

<html>
<head>
<!-- Script Files --> 
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular.js"> </script>

</head>
<body ng-app="myApp" ng-controller="myCtrl">
 <div ng-form name="myForm" id="myForm">
  <input type="text" name="person" ng-model="name"/>
  <span> {{myForm.person.$touched}}</span>
 </div>    
 <script>
 //module declaration
 var app = angular.module('myApp',[]);
 //controller declaration
 app.controller('myCtrl', function($scope) {
    $scope.name = "Enter Name";
});
</script>
</body>
</html>