一个AngularJS表单是一组输入型控件的集合。
HTML输入型标签标包括:
HTML表单将各种HTML控件组合到一起。
form = {{user}}
master = {{master}}
<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自带的验证功能。
上一章 - AngularJS快速入门指南12:模块下一章 - AngularJS快速入门指南14:数据验证新闻热点
疑难解答