Angular开发(八)-关于表单的基本认识
2017-05-09 14:47
375 查看
说明:在
一、不使用
二、使用
说明:
1、必须要写
2、每个表单中必须要加入
三、使用
输出效果
2、ngModel会追踪其所在表单控件的状态(在控件上
angular中表单会默认使用交给
angular去处理,对于传统表单中写的
action或者
method都不生效了,如果不想交给
angular处理就要在表单中加入
ngNoForm属性
一、不使用form
标签的情况下
<div> <p> <input type="text" minlength="3" maxlength="6" required [(ngModel)]="formdata.username" name="username"/> <span [hidden]="username2.valid || username2.pristine">你输入有错误</span> </p> <p> <input type="radio" [(ngModel)]="formdata.sex" name="sex" value="男" />男 <input type="radio" [(ngModel)]="formdata.sex" name="sex" value="女" />女 </p> <p> <select name="selectoption" [(ngModel)]="interest" (ngModelChange)="change($event)"> <option *ngFor="let item of interests" [ngValue]="item.value">{{item.display}}</option> </select> </p> <!--使用局部模板变量时时显示输入数据--> <p>{{username2.value}}</p> </div>
//ts文件 interests: any[] = [ {value: "guangdong", display: "广东"}, {value: "jiangxi", display: "江西"}, {value: "hunan", display: "湖南"} ]; interest: any; hobby: boolean = true; change(event: any) { console.log(event); }
二、使用form
标签的时候就可以使用表单提交方法ngSubmit
提交数据
说明:1、必须要写
name属性,
angular会根据
name来设置输出对象的
key
2、每个表单中必须要加入
ngModel属性,如果要进行初始化值的时候就要用到双向绑定
[(ngModel)]="sex"
<form #firstrForm="ngForm" (ngSubmit)="firstForm(firstrForm.value)"> <p> <input type="text" minlength="3" maxlength="6" required ngModel name="username" #username2="ngModel"/> <span [hidden]="username2.valid || username2.pristine">你输入有错误</span> </p> <p> <input type="radio" ngModel name="sex" value="男" />男 <input type="radio" ngModel name="sex" value="女" />女 </p> <p> <select name="selectoption" ngModel (ngModelChange)="change($event)"> <option *ngFor="let item of interests" [ngValue]="item.value">{{item.display}}</option> </select> </p> <p> <input type="submit" value="提交" /> </p> <p>你输入的信息:{{firstrForm.value|json}}</p> <p>{{username2.value}}</p> </form> //ts代码跟上面的一样的
三、使用ngModelGroup
来包裹几个属性
<div ngModelGroup="pwd"> <p> <input type="password" name="psw1" cbb9 ngModel placeholder="请输入密码"/> </p> <p> <input type="password" name="psw2" ngModel placeholder="请输入密码"/> </p> </div>
输出效果
四、表单的状态
1、ngForm会追踪整个表单控件的状态2、ngModel会追踪其所在表单控件的状态(在控件上
#name1="ngModel")
状态 | true/false |
---|---|
valid | 表单值是否有效 |
pristine | 表单值是否未改变 |
dirty | 表单值是否已改变 |
touched | 表单是否已经被访问 |
untouched | 表单是否未被访问 |
五、表单中常见的事件
事件名称 | 描述 |
---|---|
input | 输入框都可以使用的,可以传递参数获取输入框的值 |
ngSubmit | 表单提交方法 |
ngModelChange | 下拉框改变 |
相关文章推荐
- Angular开发(十)-关于表单的基本认识
- Angular开发(五)-关于组件的基本认识
- Angular开发(九)-关于响应式基本认识
- Angular开发(十三)-服务的基本认识及利用服务实现组件间的通信
- Angular开发(十八)-路由的基本认识
- 关于文摘插件提交表单的开发
- 关于变量的一些基本认识01
- pl/sql开发关于表存在则删除,字符串数组的定义和基本的plsql语法
- 走进AngularJs(一)angular基本概念的认识与实战
- 关于引用数据类型与基本数据类型的认识
- 3D Max插件开发的一些基本认识
- 数据库开发基本操作-关于sql server 2005 未开放1433端口的问题
- 关于用Delphi开发的一些基本的套路
- 这篇文档的价值在于详细的描述了三层交换的基本流程,以及一些关于三层交换表的有价值的技术细节。让读者对三层交换的认识提升到一个新的高度! 这篇文档的价值在于详细的描述了三层交换的基本流程,以及一些关于三
- 关于java 的基本开发工具:命令控制台的使用
- 传智播客-邮件开发(1)-关于电子邮件的一些基本常识
- 关于Ajax以及开发Ajaxt的基本步骤
- 【日常】关于Eclipse开发基于cxf的web services的基本步骤
- 关于移动网站网页的基本代码结构和一些移动网站开发建议
- 关于移动网站网页的基本代码结构和一些移动网站开发建议