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 相关文章推荐
JavaScript 组件之旅(四):测试 JavaScript 组件
Oct 28 Javascript
javascript中&quot;/&quot;运算符常见错误
Oct 13 Javascript
仿百度的关键词匹配搜索示例
Sep 25 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
javascript的回调函数应用示例
Feb 20 Javascript
js实现局部页面打印预览原理及示例代码
Jul 03 Javascript
Node.js开发者必须了解的4个JS要点
Feb 21 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
vue语法之拼接字符串的示例代码
Oct 25 Javascript
JS中call和apply函数用法实例分析
Jun 20 Javascript
微信小程序获取用户绑定手机号方法示例
Jul 21 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
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
PHP 读取大文件并显示的简单实例(推荐)
2016/08/12 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
php中this关键字用法分析
2016/12/07 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
微信小程序实现星星评价效果
2018/11/02 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
详解js常用分割取字符串的方法
2019/05/15 Javascript
JavaScript canvas动画实现时钟效果
2020/02/10 Javascript
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
python http接口自动化脚本详解
2018/01/02 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
公务员的自我鉴定
2013/10/26 职场文书
药物学专业学生的自我评价
2013/10/27 职场文书
店长助理岗位职责
2013/12/13 职场文书
高考标语大全
2014/06/05 职场文书
企业趣味活动方案
2014/08/21 职场文书
幼儿园大班教师个人总结
2015/02/05 职场文书
保卫工作个人总结
2015/03/03 职场文书
开除通知书范本
2015/04/25 职场文书