AngularJS的表单使用详解


Posted in Javascript onJune 17, 2015

 AngularJS提供丰富填写表单和验证。我们可以用ng-click来处理AngularJS点击按钮事件,然后使用 $dirty 和 $invalid标志做验证的方式。使用novalidate表单声明禁止任何浏览器特定的验证。表单控件使用了大量的角活动。让我们快速浏览一下有关事件先。
事件

AngularJS提供可与HTML控件相关联的多个事件。例如ng-click通常与按钮相关联。以下是AngularJS支持的事件。

  •     ng-click
  •     ng-dbl-click
  •     ng-mousedown
  •     ng-mouseup
  •     ng-mouseenter
  •     ng-mouseleave
  •     ng-mousemove
  •     ng-mouseover
  •     ng-keydown
  •     ng-keyup
  •     ng-keypress
  •     ng-change

ng-click

使用点击一个按钮的指令,表单重置数据。

<input name="firstname" type="text" ng-model="firstName" required>
<input name="lastname" type="text" ng-model="lastName" required>
<input name="email" type="email" ng-model="email" required>
<button ng-click="reset()">Reset</button>
<script>
  function studentController($scope) { 
   $scope.reset = function(){
     $scope.firstName = "Mahesh";
     $scope.lastName = "Parashar";
     $scope.email = "MaheshParashar@yiibai.com";
 }  
  $scope.reset();
}
</script>

验证数据

可使用下面跟踪误差。

  •     $dirty - 规定值已被改变。
  •     $invalid- 该值的状态是无效的。
  •     $error- 指出确切的错误。

例子

下面的例子将展示上述所有指令。
testAngularJS.html

<html>
<head>
<title>Angular JS Forms</title>
<style>
table, th , td {
 border: 1px solid grey;
 border-collapse: collapse;
 padding: 5px;
}
table tr:nth-child(odd) {
 background-color: #f2f2f2;
}
table tr:nth-child(even) {
 background-color: #ffffff;
}
</style>
</head>
<body>
<h2>AngularJS Sample Application</h2>
<div ng-app="" ng-controller="studentController">
<form name="studentForm" novalidate>
<table border="0">
<tr><td>Enter first name:</td><td><input name="firstname" type="text" ng-model="firstName" required>
  <span style="color:red" ng-show="studentForm.firstname.$dirty && studentForm.firstname.$invalid">
   <span ng-show="studentForm.firstname.$error.required">First Name is required.</span>
  </span>
</td></tr>
<tr><td>Enter last name: </td><td><input name="lastname" type="text" ng-model="lastName" required>
  <span style="color:red" ng-show="studentForm.lastname.$dirty && studentForm.lastname.$invalid">
   <span ng-show="studentForm.lastname.$error.required">Last Name is required.</span>
  </span>
</td></tr>
<tr><td>Email: </td><td><input name="email" type="email" ng-model="email" length="100" required>
<span style="color:red" ng-show="studentForm.email.$dirty && studentForm.email.$invalid">
   <span ng-show="studentForm.email.$error.required">Email is required.</span>
  <span ng-show="studentForm.email.$error.email">Invalid email address.</span>
  </span>
</td></tr>
<tr><td><button ng-click="reset()">Reset</button></td><td><button 
 ng-disabled="studentForm.firstname.$dirty && studentForm.firstname.$invalid ||
   studentForm.lastname.$dirty && studentForm.lastname.$invalid ||
   studentForm.email.$dirty && studentForm.email.$invalid"
 ng-click="submit()">Submit</button></td></tr>
</table>
</form>
</div>
<script>
function studentController($scope) { 
  $scope.reset = function(){
 $scope.firstName = "Mahesh";
 $scope.lastName = "Parashar";
 $scope.email = "MaheshParashar@yiibai.com";
  }  
  $scope.reset();
}
</script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
</body>
</html>

输出

在Web浏览器打开textAngularJS.html。看到结果如下。

AngularJS的表单使用详解

Javascript 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
用javascript getComputedStyle获取和设置style的原理
Oct 10 Javascript
按给定几率进行随机抽取的js代码
Dec 28 Javascript
javascript控制swfObject应用介绍
Nov 29 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
Oct 28 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
纯javascript实现自动发送邮件
Oct 21 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
js下载文件并修改文件名
May 08 Javascript
微信小程序如何获取手机验证码
Nov 04 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 Javascript
举例讲解AngularJS中的模块
Jun 17 #Javascript
简介AngularJS的HTML DOM支持情况
Jun 17 #Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 #Javascript
JavaScript AOP编程实例
Jun 16 #Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
Jun 16 #Javascript
动态加载jQuery的方法
Jun 16 #Javascript
详解AngularJS中的表格使用
Jun 16 #Javascript
You might like
Array of country list in PHP with Zend Framework
2011/10/17 PHP
PHP实现变色验证码实例
2014/01/06 PHP
php无限遍历目录示例
2014/02/21 PHP
javascript网页关键字高亮代码
2008/07/30 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
Node.JS更改Windows注册表Regedit的方法小结
2017/08/18 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
js实现简单抽奖功能
2020/11/24 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
python实现连接mongodb的方法
2015/05/08 Python
python使用Image处理图片常用技巧分析
2015/06/01 Python
Python解惑之True和False详解
2017/04/24 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
python制作简单五子棋游戏
2019/06/18 Python
通过cmd进入python的实例操作
2019/06/26 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python中doctest库实例用法
2020/12/31 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
一套软件开发工程师笔试题
2015/05/18 面试题
信息技术专业个人自我评价
2013/12/11 职场文书
婚纱店策划方案
2014/05/22 职场文书
投资意向协议书
2015/01/29 职场文书
法制主题班会教案
2015/08/13 职场文书