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. c++ template 判断是否为类类型

    /* The following code example is taken from the book * "C++ Templates - The Complete Guide" ...

  2. CentOS 7如何开放其它的端口,比如8080

    CentOS 7如何开放其它的端口,比如8080 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop ...

  3. Android ListView的一个坑,你可掉进去过?

    需要的功能很简单,就是一个带checkbox的列表,提交时需要知道用户选择了那些项目,如下图: 使用SimpleAdapter作为数据适配器,重写SimpleAdapter.ViewBinder的方法 ...

  4. edis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots,

    edis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots ...

  5. HDU 6118 度度熊的交易计划 (最小费用流)

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. Redis Quick Start [熟练版]

    一.下载解压 wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stable ...

  7. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果

    目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果. 如果 ...

  8. 解决linux下tomcat停止进程任存在问题

    解决linux下tomcat停止进程任存在问题 在Linux下(之所以强调linux下,是因为在windows下正常),执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访 ...

  9. 团体程序设计天梯赛L2-024 部落 2017-04-18 11:31 274人阅读 评论(0) 收藏

    L2-024. 部落 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不 ...

  10. Android-工作总结-LX-2018-08-20-setHint

    问题的因素: 调试了一下午,我一直是以为是数据没有传递过来,然后一直在数据获取环节检查在检查,数据跟踪在跟踪,最后发现数据获取是OK