9. Javascript学习笔记——表单处理
9. 表单处理
9.1 表单的基础知识
///表单用 <form> 元素表示,对应的是 HTMLFormElement 类型,继承自 HTMLElement。
//属性:action、method、acceptCharset ///【获取表单】
var form = document.getElementById('form1');//通过给<from>标签添加ID
var from2 = document.froms['form_name'];//通过<form>的name属性获得 ///【提交表单】
//浏览器将请求发送给服务器之前会触发 submit事件 ,这样就可以验证是否能提交
//注意 提交按钮的onsubmit无效
var form = document.forms['form'];
form.addEventListener('submit',function(event){
if(form.childern[0].getAttribute('value')<10){
alert('small');
event.preventDefault();
}
},false) form.submit(); //提交表单,不会触发 onsubmit 事件
form.reset(); //重置表单,会触发 onreset 事件 ///【表单字段】
//访问表单字段
form.elements;//elements时所有表单元素的集合,非表单元素(p,a,div等)不在里面
form.elements[0];//取得表单的第一个字段
form.elements['user'];//取得name 为 user的字段。如果多个表单空间使用一个name(如单选按钮),那么就返回一个NodeList //共有的表单字段属性
//type value disable(布尔值) readOnly(布尔值) 等等 //共有的表单字段方法
form.elements[0].focus();//让表单的某个元素获得焦点
form.elements[0].blur();//让表单的某个元素失去焦点 //共有的表单字段事件
//onblur失去焦点触发 onchange内容发生改变时触发 onfocus获得焦点触发
9.2 文本框脚本
//不要使用setAttribute() 和 getAttribute() 修改和获得文本框的值,因为获取不到,不要用标准DOM
form.elements[0].value='xxx';//使用这种方式修改 ///【选择文本】
form.elements[0].select();//选中文本框的所有文本 ///选择(select)事件
//当选择了文本,并且释放了鼠标,才会触发select事件,select()方法也会触发select()事件 //取得所选择的文本
//两个属性(属于文本框对象)表示选择文本的开头和结尾的偏移量:selectionStart selectionEnd
form.elements[0].onselect = function(){
alert(this.value.substring(this.selectionStart,this.selectionEnd));
} //选择部分文本
//参数形式和substring一样,不包括end
form.elements[0].setSelectionRange(start,end);// ///【操作剪贴板】
/* 【事件】
oncopy 在复制操作发生时触发
oncut 在剪切操作发生时触发
onpaste 在粘贴操作发生时触发
*/
//屏蔽字符
form.elements[0].onkeypress = function(e){
if(!/\d/.test(String.fromCharCode(e.charCode))){//使之只能输入数字,不过还可以粘贴
e.preventDefault();
}
}
form.elements[0].onpaste = function(e){
alert('禁止粘贴');
e.preventDefault();
} //【操作剪贴板数据】
//安全起见,浏览器只允许在发生对应的剪贴板事件时,才可以操作剪贴板数据
//通过 clipbroadData 对象访问:getData('MIME')、setData('MIME','data')、clearData()
document.onpaste = function(event){
event.getData('text/plain') //粘贴只能getData(),复制只能setData()
}
9.3 选择框脚本
//待学习
9.4 操作富文本
//待学习
9. Javascript学习笔记——表单处理的更多相关文章
- JavaScript高级程序设计学习笔记--表单脚本
提交表单 用户单击提交按钮或图像按钮时,就会提交表单.使用<input>和<button>都可以定义提交按钮,只要将其type特性的值设置为"submit" ...
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- JavaScript学习笔记——对表单的操作
javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...
- php学习笔记——表单
13.表单 1)GET vs. POST GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value ...
- [html5] 学习笔记-表单新增元素与属性
本节讲的是表单元素的form,formaction属性,frommethod,formenctype属性,formtarget,autofocus属性,required,labels属性. 1.for ...
- Vue.js学习笔记——表单控件实践
最近项目中使用了vue替代繁琐的jquery处理dom的数据更新,个人非常喜欢,所以就上官网小小地实践了一把. 以下为表单控件的实践,代码敬上,直接新建html文件,粘贴复制即可看到效果~ <! ...
- bootstrap学习笔记(表单)
1.基础表单 :对于基础表单,Bootstrap并未对其做太多的定制性效果设计,仅仅对表单内的fieldset.legend.label标签进行了定制. fieldset { min-width: 0 ...
- HTML5 学习笔记 表单属性
HTML5新的表单属性 HTML5 的form和input 标签添加了几个新的属性 <form>新属性 autocomplete novalidate input 新属性 autocomp ...
- AngularJs学习笔记-表单处理
表单处理 (1)Angular表单API 1.模板式表单,需引入FormsModule 2.响应式表单,需引入ReactiveFormsModule (2)模板式表单 在Angular中使用for ...
随机推荐
- Spring 学习记录2 Environment
Environment是什么 environment是什么呢....中文是环境大家都知道但是具体代表什么呢?感觉很抽象....从代码里的解释来看environment代表了profile和proper ...
- ImageView.src的png图标变形问题
图标,必须是png-24输出,如果是png-8输出,则失真.
- android Service 的简单使用(转)
1.要使用Service,首先就是在配置文件里吗添加Service,如果不填加,你的Service是不能够使用的.目前学到的方法有两种 方法一:<service android:enabl ...
- mongo学习- mapReduce操作事例
源数据: { "_id" : 1.0, "name" : "abc", "age" : 43.0, "type ...
- <网络攻防实践> 课程总结20169216
课程总结20169216 每周作业链接汇总 第一周作业:Linux基础入门(1-5).基本概念及操作 第二周作业:linux基础入门(6-11).网络攻防技术概述网络攻防试验环境搭构.Kali教学视频 ...
- (深搜)棋盘问题 -- poj -- 1321
链接: http://poj.org/problem?id=1321 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2889 ...
- AngularJS Backbone.js Ember.js 对比
看到一篇关于AngularJS Backbone Ember.js的对比,建议看一看 说说个人的观点(本人学艺不精,只是个人的观点,不保证观点完全正确,请轻拍): backbone.js 短小精悍,非 ...
- 原生态在Hadoop上运行Java程序
第一种:原生态运行jar包1,利用eclipse编写Map-Reduce方法,一般引入Hadoop-core-1.1.2.jar.注意这里eclipse里没有安装hadoop的插件,只是引入其匝包,该 ...
- CentOS将普通用户加入管理员组
将用户username加入wheel组: usermod -aG wheel username 将普通用户username加入root组: usermod -aG sudo username 永久生效 ...
- Myeclipse文件没出错,但是项目上显示有错的解决办法
因工作原因,同事将他的java项目交接给了我.和平时的交接一样.他把他最新的源代码,打成压缩包,发给我.我解压后,使用myeclipse开发工具,通过导入,将项目导入到我的开发工具中,这个时候有一个问 ...