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 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
jQuery表格行换色的三种实现方法
Jun 27 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
JS继承--原型链继承和类式继承
Apr 08 Javascript
javascript中的undefined和not defined区别示例介绍
Feb 26 Javascript
js操作iframe父子窗体示例
May 22 Javascript
JS实现OCX控件的事件响应示例
Sep 17 Javascript
1秒50万字!js实现关键词匹配
Aug 01 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
JQuery EasyUI的一些常用组件
Jul 12 jQuery
Node.js API详解之 tty功能与用法实例分析
Apr 27 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
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
vue filters的使用详解
2018/06/11 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
Python之csv文件从MySQL数据库导入导出的方法
2018/06/21 Python
解决PyCharm的Python.exe已经停止工作的问题
2018/11/29 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
python 导入数据及作图的实现
2019/12/03 Python
本科毕业自我鉴定
2014/03/20 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
团组织推优材料
2014/12/29 职场文书
学生保证书
2015/01/16 职场文书
毕业实习感受与体会
2015/05/26 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android