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 ...
随机推荐
- SQLServer获取临时表列名并判断指定列名是否存在
if(OBJECT_ID('tempdb.dbo.#tempTB') is not null)begin drop table #tempTB;end create table #tempTB(ID ...
- Mybatis之是如何执行你的SQL的(SQL执行过程,参数解析过程,结果集封装过程)
Myabtis的SQL的执行是通过SqlSession.默认的实现类是DefalutSqlSession.通过源码可以发现,selectOne最终会调用selectList这个方法. @Overrid ...
- SLAM拾萃(2):doxygen
今天给大家介绍一下doxygen.这个工具由来已久了,至少08年左右就已经在用了,但是目前还没见到好的介绍.我个人觉得这是个很简单易用的工具,但是为什么看了别人介绍反而觉得复杂了……所以趁着今天比较闲 ...
- 解决Error running 'index.jsp : Address localhost:1099 is already in use的方法
晚上在idea中 启动服务器一次后 正常运行,但是改了注解配置后 报错,报错为Error running 'index.jsp : Address localhost:1099 is alread ...
- Linux服务器上日志报com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1783 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
在做查询数据库操作时,报了以上错误,还有out of memery heap hacp ,原因是MySQL的max_allowed_packet设置过小引起的,我一开始设置的是1M,后来改为了20M ...
- 跳转AppStore 评分
-(void)goToAppStore { NSString *str = [NSString stringWithFormat: @"itms-apps://ax.itunes.apple ...
- Spring MVC3.2 通过Servlet3.0实现文件上传
Servlet3.0规范增加了对文件上传的原生支持,这里记录一下Spring MVC3通过Servlet3上传文件的实现. 配置文件: applicationContext.xml <!-- s ...
- java中的四种代码块
一.普通代码块 直接在一个方法中出现的{}就称为普通代码块,例子程序如下: public class CodeDemo01{ public static void main(String[] args ...
- mysql导入数据load data infile用法(转)
们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data [low_priority] [local] infile ' ...
- [Erlang31]Erlang trace总结
在一个并行的世界里面,我们很难做到单步断点调试来定位问题(太多的消息飞来飞去),Erlang设计者也深刻体会到这一点,推出了另一个trace机制. 通过这个trace,你可以: .特定进程集内的函数调 ...