第14章、表单脚本

14.1 表单的基础知识

表单由

元素来表示,继承自HTMLElement类型,除具有HTML元素相同的默认属性外,还具有以下属性和方法:
action属性,接受请求的URL;
elements属性,表单中所有控件的合集;
length属性,表单中控件的数量;
method属性,要发送的HTTP请求类型,通常是get或post;
name属性,表单的名称;
reset()方法,将表单域重置为默认值;
submit()方法,提交表单。
除使用基本的DOM获取方法获取表单外,document.forms属性可以取得页面中所有的表单,可以通过索引或name值来取得特定表单。

14.1.1 提交表单

单机提交按钮或图像按钮时会提交表单,type属性为"submit"的标签和

在具有这三种控件的表单获得焦点时,按下回车键就会提交表单,浏览器在提交表单时会触发submit事件,可以在此验证表单,并决定是否提交,阻止事件的默认行为就可以取消表单的提交。submit()方法也可以提交表单,但使用此方法提交表单不会触发submit事件。

为防止表单的重复提交,在第一次提交表单后,就应该禁用提交按钮,或者利用onsubmit事件处理程序取消后续的表单提交操作。

14.1.2 重置表单

单机重置按钮时,表单的所有控件都会被重置为默认值,type属性为"reset"属性的标签和

单击重置按钮时,会触发reset事件,阻止事件的默认行为可以取消表单的重置,reset()方法也可以重置表单,调用reset()方法时,也会触发reset事件。

14.1.3 表单字段

每个表单都有elements属性,该属性是表单中所有表单元素的集合。可以按照每个控件元素出现的顺序或name属性来获取它们。

var f1= document.forms[0].elements[0];
var f2= document.forms[0].elements["first"];

使用name方式获取表单元素时,如果有多个表单使用同一个name(单选按钮),则返回一个以该name命名的NodeList。使用索引方式获取表单元素则只会返回第一个匹配的表单元素。


    
    
    


var f1= document.forms[0].elements[0];
var f2= document.forms[0].elements["first"];
console.log(f1 === f2[0]);  // true

表单字段的共有属性:
disabled属性,布尔值,表示当前表单是否禁用;
form属性,指向当前字段所属的表单;
name属性,当前字段名称;
readOnly属性,布尔值,表示当前字段是否只读;
tabIndex属性,表示当前字段的切换序号;
type属性,当前字段的类型;
value属性,当前字段被提交给服务器的值,文件字段中是只读的,表示文件在计算机中的路径。

表单字段共有的方法:
focus()方法,将浏览器焦点设置到当前字段。
blur()方法,将浏览器焦点从表单控件中移除。
HTML5新添加autofocus属性,设置了这个属性的表单控件在进入页面时会自动获得焦点。

表单字段共有的事件:
blur事件,当前字段失去焦点时触发。
change事件,元素和