一个AngularJS表单是一组输入型控件的集合。
HTML控件
HTML输入型标签标包括:
- input标签
- select标签
- button标签
- textarea标签
HTML表单
HTML表单将各种HTML控件组合到一起。
一个AngularJS表单的例子
程序代码
<div ng-app="myApp" ng-controller="formCtrl"> <form novalidate> First Name:<br> <input type="text" ng-model="user.firstName"><br> Last Name:<br> <input type="text" ng-model="user.lastName"> <br><br> <button ng-click="reset()">RESET</button> </form> <p>form = {{user}}</p> <p>master = {{master}}</p> </div> <script> var app = angular.module('myApp', []); app.controller('formCtrl', function($scope) { $scope.master = {firstName: "John", lastName: "Doe"}; $scope.reset = function() { $scope.user = angular.copy($scope.master); }; $scope.reset(); }); </script>
novalidate是HTML5中新加入的一个属性,表示禁用浏览器默认的验证功能。 |
代码解释
ng-app指令定义了AngularJS application。
ng-controller指令定义了application的控制器。
ng-model指令将两个input标签绑定到模型的user对象上。
在控制器formCtrl中,设置了master对象的初始值,并且定义了reset()方法。
reset()方法将master对象复制给user对象。
当button被点击时,ng-click指令调用了reset()方法。
这里,application中并不需要novalidate属性,不过在AngularJS表单中你通常需要使用它来覆盖HTML5自带的验证功能。