您的位置:首页 > Web前端 > AngularJS

AngularJS快速入门指南13:表单

2015-05-13 13:52 756 查看
  一个AngularJS表单是一组输入型控件的集合。

HTML控件

  HTML输入型标签标包括:

input标签

select标签

button标签

textarea标签

HTML表单

  HTML表单将各种HTML控件组合到一起。

一个AngularJS表单的例子

First Name:

Last Name:

RESET

form = {{user}}

master = {{master}}

// angular.module('myEx', []).controller('ExampleController', function($scope) {
$scope.master = {"firstName":"John","lastName":"Doe"};
$scope.reset = function() {
$scope.user = angular.copy($scope.master);
};
$scope.reset();
});
// ]]>

程序代码

<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:数据验证
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: