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 相关文章推荐
JS获取并操作iframe中元素的方法
Mar 21 Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
javascript学习笔记(二)数组和对象部分
Sep 30 Javascript
原生js和jquery实现图片轮播特效
Apr 23 Javascript
jQuery判断一个元素是否可见的方法
Jun 05 Javascript
js判断复选框是否选中及选中个数的实现代码
May 30 Javascript
vue2.0实现导航菜单切换效果
May 08 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
Apr 08 Javascript
浅谈Web Storage API的使用
Jun 23 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
二次元帅气男生排行榜,只想悄悄收藏系列
2020/03/04 日漫
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
用javascript判断IE版本号简单实用且向后兼容
2013/09/11 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
javascript html5实现表单验证
2016/03/01 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
2019/09/26 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
django框架如何集成celery进行开发
2017/05/24 Python
python针对excel的操作技巧
2018/03/13 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python如何实现单链表的反转
2020/02/10 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
Html5之title吸顶功能
2018/06/04 HTML / CSS
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
ProBikeKit新西兰:自行车套件,跑步和铁人三项装备
2017/04/05 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
幼儿园课题方案
2014/06/09 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
体育教师个人工作总结
2015/02/09 职场文书
死者家属慰问信
2015/03/24 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
几款流行的HTML5 UI框架比较(小结)
2021/04/08 HTML / CSS