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学习笔记——表单处理的更多相关文章

  1. JavaScript高级程序设计学习笔记--表单脚本

    提交表单 用户单击提交按钮或图像按钮时,就会提交表单.使用<input>和<button>都可以定义提交按钮,只要将其type特性的值设置为"submit" ...

  2. [html5] 学习笔记-表单新增的元素与属性(续)

    本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...

  3. JavaScript学习笔记——对表单的操作

    javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...

  4. php学习笔记——表单

    13.表单 1)GET vs. POST GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value ...

  5. [html5] 学习笔记-表单新增元素与属性

    本节讲的是表单元素的form,formaction属性,frommethod,formenctype属性,formtarget,autofocus属性,required,labels属性. 1.for ...

  6. Vue.js学习笔记——表单控件实践

    最近项目中使用了vue替代繁琐的jquery处理dom的数据更新,个人非常喜欢,所以就上官网小小地实践了一把. 以下为表单控件的实践,代码敬上,直接新建html文件,粘贴复制即可看到效果~ <! ...

  7. bootstrap学习笔记(表单)

    1.基础表单 :对于基础表单,Bootstrap并未对其做太多的定制性效果设计,仅仅对表单内的fieldset.legend.label标签进行了定制. fieldset { min-width: 0 ...

  8. HTML5 学习笔记 表单属性

    HTML5新的表单属性 HTML5 的form和input 标签添加了几个新的属性 <form>新属性 autocomplete novalidate input 新属性 autocomp ...

  9. AngularJs学习笔记-表单处理

    表单处理 (1)Angular表单API 1.模板式表单,需引入FormsModule 2.响应式表单,需引入ReactiveFormsModule   (2)模板式表单 在Angular中使用for ...

随机推荐

  1. Java 设计模式系列(二二)责任链模式

    Java 设计模式系列(二二)责任链模式 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求 ...

  2. 八种主流NoSQL数据库系统对比(转)

    出处:http://database.51cto.com/art/201109/293029.htm 虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破.这只是时间问题:被迫 ...

  3. CodeForces 688A Opponents (水题)

    题意:给定 n 行数,让你找出连续最多的全是1的个数. 析:好像也没什么可说的,那就判断一下,并不断更新最大值呗. 代码如下: #include <iostream> #include & ...

  4. 瞄一眼,带你走进SparkSQL的世界

    本文由  网易云发布. 作者:范欣欣(本篇文章仅限知乎内部分享,如需转载,请取得作者同意授权.) 最近想来,大数据相关技术与传统型数据库技术很多都是相互融合.互相借鉴的.传统型数据库强势在于其久经考验 ...

  5. Exp1 PC平台逆向破解 20164323段钊阳

    实验目标 学习两种方法运行代码片段,并学习如何注入运行任何Shellcode. 三个实验内容如下: 1.手工修改可执行文件,改变程序执行流程,直接跳转到getshell函数 2.利用foo函数的bof ...

  6. DOS文件操作命令

    内部命令 COPY---文件固执命令 格式:COPY [源盘:][路径]<源文件名> [目标盘][路径]<目标文件名> 拷贝一个或多个文件到指定盘上 1)COPY是文件对文件的 ...

  7. 前端切图要选择png和jpg呢?

    今天特意验证了一下: 切完图分别保存png24.png8和jpg60.jpg80(60和80表示保存图片时品质选择)后, 然后再压缩图片,压缩图片地址:https://tinypng.com/ 图片直 ...

  8. SpringMVC常用方法大全

    ---恢复内容开始--- web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app x ...

  9. 关于Mybatis 反向生成后 查询结果全部为null 解决办法

    今天遇到了一个问题,就是mybatis通过反向生成工具 生成的pojo类(实体类) xml文件 以及Mapper之后查询时结果为null 我写的代码怎么看都没有错 就是没有结果 后来在排除错误的时候发 ...

  10. 记一次在CentOS系统搭建python3环境

    首先,查看linux系统类型和版本:参考:查看linux系统类型和版本 默认Centos7中是有python安装的,但是是2.7版本,实际上这几个文件之间是有依赖关系的.在ls 后面加个 -al参数, ...