AngularJS快速入门指南13:表单

2022-12-13,,,,

<!--
a.tryitbtn, a.tryitbtn:link, a.tryitbtn:visited {
display: inline-block;
color: #FFFFFF;
background-color: #D84D2D;
font-weight: bold;
text-align: center;
padding: 0.3% 2.0%;
text-decoration: none;
border: 1px solid #D84D2D;
border-radius: 5px;
white-space: nowrap;
cursor: defauilt;
}
a.tryitbtn:hover{
color: #D84D2D;
background-color: #FFFFFF;
cursor: pointer;
}
hr.angular{
margin: 20px 0px 20px 0px; border: 0; border-top: 1px solid #ddd;
}
table.lamp {
width: 100%;
padding: 0px;
border: 1px solid #ddd;
}
table.lamp th {
color: #000000;
background-color: white;
border: none !important;
padding: 10px 5px 10px 10px !important;
}
table.lamp td {
padding: 4px 10px 4px 0px !important;
border: none !important;
background-color: #ffffff;
}
div.chapter {
margin: 10px 0px 10px 0px;
padding: 0px;
width: auto;
overflow: hidden;
}
div.chapter div.prev {
width: 50%;
float: left;
text-align: left;
overflow: hidden;
white-space: nowrap;
}
div.chapter div.next {
width: 50%;
float: right;
text-align: right;
white-space: nowrap;
overflow: hidden;
}
-->

  一个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自带的验证功能。

上一章 - AngularJS快速入门指南12:模块
下一章 - AngularJS快速入门指南14:数据验证

AngularJS快速入门指南13:表单的相关教程结束。

《AngularJS快速入门指南13:表单.doc》

下载本文的Word格式文档,以方便收藏与打印。