AngularJS表单操作几个例子(表单提交,表单编辑默认值)
听同事讲AngularJS比jquery还要强大一些于时就开始了AngularJS学习工作,但在学习AngularJS中发现对于表单提交与表单默认值都不会搞,下面来看看几个关于AngularJS Form的案例吧。
模仿着我要搞了个AngularJS Form,但是问题来了。。。。
发现初始化时候ng-model 跟 input 标签里的 value 不默契,冲突。。
后来想再AngularJS controller 里预先赋值 $scope.formData = {‘name':’张三’};
可以通过php程序把值赋到这个AngularJS controller里
代码如下 复制代码
<!-- AngularJS controller -->
<script>
var formApp = angular.module('formApp', []);
function formController($scope, $http) {
$scope.formData = {'name':'张三','remark':'备注'};
$scope.myForm = function() {
$http({
method : 'POST',
url : '/role/edit',
data : $.param($scope.formData), // pass in data as strings
headers : { 'Content-Type': 'application/x-www-form-urlencoded' } // set the headers so angular passing info as form data (not request payload)
})
.success(function(data) {
console.log(data);
if (!data.success) {
} else {
}
});
};
}
</script>
<!--对应form里的input调整-->
代码如下 复制代码
<input type="text" name="name" ng-model="formData.name" class="form-control" placeholder="Role Name">
后来又搜啊搜 发现还有其他办法,这么个东东 ng-init=”formData.name=’张三'”
代码如下 复制代码
<input type="text" name="name" ng-model="formData.name" ng-init="formData.name='张三'" value="">
好了,上面非常的简单,我们再来看
事件
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(www.111cn.net)-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="angular.min.js"></script>
</body>
</html>
输出
AngularJS表单操作几个例子(表单提交,表单编辑默认值)
在Web浏览器打开textAngularJS.html。看到结果如下。
常用的表单验证指令
1. 必填项验证
某个表单输入是否已填写,只要在输入字段元素上添加HTML5标记required即可:
<input type="text" required />
2. 最小长度
验证表单输入的文本长度是否大于某个最小值,在输入字段上使用指令ng-minleng= "{number}":
<input type="text" ng-minlength="5" />
3. 最大长度
验证表单输入的文本长度是否小于或等于某个最大值,在输入字段上使用指令ng-maxlength="{number}":
<input type="text" ng-maxlength="20" />
4. 模式匹配
使用ng-pattern="/PATTERN/"来确保输入能够匹配指定的正则表达式:
<input type="text" ng-pattern="/[a-zA-Z]/" />
5. 电子邮件
验证输入内容是否是电子邮件,只要像下面这样将input的类型设置为email即可:
<input type="email" name="email" ng-model="user.email" />
6. 数字
验证输入内容是否是数字,将input的类型设置为number:
<input type="number" name="age" ng-model="user.age" />
7. URL
验证输入内容是否是URL,将input的类型设置为 url:
<input type="url" name="homepage" ng-model="user.facebook_url" />
from:http://www.111cn.net/wy/jquery/75590.htm
AngularJS表单操作几个例子(表单提交,表单编辑默认值)相关推荐
- SharePoint:扩展DVWP - 第34部分:使用图标形式的表单操作链接
上一次,我们对我们的DVWP的外观进行了最后的加工,实现了下图中 1-5 的部分.这一次,我们将继续完成剩下的6 和 7 ,来为其添加一个图标. 在本系列中间的部分,Greg Schaefer提了一个 ...
- Php获取id并提交表单,提交表单后 PHP获取提交内容的实现方法
提交表单后 PHP获取提交内容的实现方法2020-06-14 15:35:24 问题:网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却正常. 新版的PHP已经废弃了原来 ...
- html表单自动提交表单提交表单数据类型,表单
表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域:包含了文本框.密码框.隐藏域.多行文本框. ...
- Flask 表单操作库 flask_WTF flask_WTForms
一.安装 flask_WTF 0.14.X flask_WTF 英文文档 flask_WTF 中文文档0.12 Flask表单验证组件WTForms Flask-WTF ...
- 表的插入、更新、删除、合并操作_9_插入默认值
插入默认值 需求描述 需求:指定dept表loc字段的默认值是Beijing,并向该表中插入部门编号为50,部门名称为Production的数据. 解决方法:这里需要DDL的里知识,即对表dept在l ...
- php隐藏表单提交表单提交表单_表单提交及php处理表单数据的实例
先来看一下html form表单的源码: Feedback Form Name: Email: 表单是以 开头,以结束. action表示要将表单提交到哪个文件进行处理数据,这里是提交到feedbac ...
- 表的插入、更新、删除、合并操作_15_ 按照默认值更新表
按照默认值更新表 需求描述 需求:更新deptno对应是50的dept表的loc字段成默认值. 解决方法:这里通过UPDATE TableName SET ColName=DEFAULT -的方式来更 ...
- jquery验证表单 提交表单
问题: jquery中使用submit提交按钮时,当return false后,依然会提交表单. 解决: 使用button按钮,而不是submit按钮 <script type="te ...
- iView Input 输入框表单非空校验,默认值是 Number 类型校验失败
问题描述 iView 按照 Form 组件文档用法写非空校验,当表单数据有默认值并且默认值类型为 Number校验失败,手动输入可以校验成功. 问题原因 官方已经给出回答,校验规则默认是 string ...
最新文章
- Excel常用公式记录
- 防止按钮重复点击 模型转字典 接口传参不能用汉字,要转码
- Attachment rename issue in Faas
- NGRAIN在模型轻量化上的应用
- socket通信基础知识
- JS ||(或运算)详解
- ES6 Generator 函数
- SpringCloud微服务(01):Eureka组件,管理服务注册与发现
- python:DataFrame连续取前23列数据,或者连续取前2行数据,或者取某行某列数据
- 实验6 振幅解调器(包络检波、同步检波)
- 往linux内核添加ch341,linux 4.1 usb驱动之usb_serial芯片ch341
- 第三届全国平面公益广告大赛暨全国大学生公益广告征集活动
- py征途3之填坑(pagerank个人详解)
- solidworks2014方程式添加全局变量存在句法错误的解决方案
- WPS表格级联菜单设置方法
- Redis Cluster(集群)模式下批量删除key
- 2006世界杯夺冠热门分析
- 对于云计算的行业发展,有哪些好的建议?
- java作业斗地主实现
- “系统资源不足,无法满足请求服务“ ,而内存够大,解决办法