AngularJS表单详解及示例代码


Posted in Javascript onAugust 17, 2016

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表单详解及示例代码

以上就是AngularJS表单的知识整理,后续继续补充相关知识,谢谢大家对本站的支持!

Javascript 相关文章推荐
游戏人文件夹程序 ver 3.0
Jul 14 Javascript
学习面向对象之面向对象的术语
Nov 30 Javascript
javascript限制文本框输入值类型的方法
May 07 Javascript
JavaScript中的parse()方法使用简介
Jun 12 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
每日十条JavaScript经验技巧(二)
Jun 23 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
JS与HTML结合实现流程进度展示条思路详解
Sep 03 Javascript
layer 刷新某个页面的实现方法
Sep 05 Javascript
vue-model实现简易计算器
Aug 17 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 Javascript
AngularJS模块详解及示例代码
Aug 17 #Javascript
Bootstrap 源代码分析(未完待续)
Aug 17 #Javascript
AngularJS HTML DOM详解及示例代码
Aug 17 #Javascript
AngularJS表格详解及示例代码
Aug 17 #Javascript
AngularJS过滤器详解及示例代码
Aug 16 #Javascript
AngularJS控制器详解及示例代码
Aug 16 #Javascript
AngularJS表达式讲解及示例代码
Aug 16 #Javascript
You might like
论坛头像随机变换代码
2006/10/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php过滤html标记属性类用法实例
2014/09/23 PHP
区分JS中的undefined,null,&quot;&quot;,0和false
2007/03/08 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jquery html动态生成select标签出问题的解决方法
2013/11/20 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
JS处理一些简单计算题
2018/02/24 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Django配置文件代码说明
2019/12/04 Python
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
简历中个人求职的自我评价模板
2013/11/29 职场文书
个性大学生自我评价
2013/12/04 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
教师考察材料范文
2014/06/03 职场文书
网络营销策划方案
2014/06/04 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
鸡毛信观后感
2015/06/11 职场文书
行为习惯主题班会
2015/08/14 职场文书
Spring Boot 的创建和运行示例代码详解
2022/07/23 Java/Android