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 相关文章推荐
js 获取Listbox选择的值的代码
Apr 15 Javascript
文本框input聚焦失焦样式实现代码
Oct 12 Javascript
jQuery的one()方法用法实例
Jan 19 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
javascript中的altKey 和 Event属性大全
Nov 06 Javascript
深入浅析JavaScript中的scrollTop
Jul 11 Javascript
AngularJS ng-controller 指令简单实例
Aug 01 Javascript
Angularjs 创建可复用组件实例代码
Oct 09 Javascript
javascript遍历json对象的key和任意js对象属性实例
Mar 09 Javascript
Node.js 的 GC 机制详解
Jun 03 Javascript
JS实现普通轮播图特效
Jan 01 Javascript
Vue绑定用户接口实现代码示例
Nov 04 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
window.showModalDialog使用手册
2007/01/11 Javascript
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
javascript实现电脑和手机版样式切换
2017/11/10 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
2019/01/07 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python3.x爬虫下载网页图片的实例讲解
2018/05/22 Python
python使用多进程的实例详解
2018/09/19 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
python打印直角三角形与等腰三角形实例代码
2019/10/20 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
Python tkinter模版代码实例
2020/02/05 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
华为C++笔试题
2014/08/05 面试题
毕业生自我推荐
2013/11/04 职场文书
单位单身证明范本
2014/01/11 职场文书
采购求职信
2014/03/17 职场文书
班主任对学生的评语
2014/04/26 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
鸟的天堂导游词
2015/01/31 职场文书
调解协议书范本
2016/03/21 职场文书
Java 写一个简单的图书管理系统
2022/04/26 Java/Android
vue3不同环境下实现配置代理
2022/05/25 Vue.js