JS高级程序设计读书笔记(第十四章 表单脚本)

14.1 表单的基础知识

在 HTML 中,表单是由 元素来表示的,而在 JavaScript 中,表单对应的则是 HTMLFormElement 类型。 HTMLFormElement 继承了 HTMLElement ,因而与其他 HTML 元素具有相同的默认属性。不过, HTMLFormElement 也有它自己下列独有的属性和方法。
 acceptCharset :服务器能够处理的字符集;等价于 HTML 中的 accept-charset 特性。
 action :接受请求的 URL;等价于 HTML 中的 action 特性。
 elements :表单中所有控件的集合( HTMLCollection )。
 enctype :请求的编码类型;等价于 HTML 中的 enctype 特性。
 length :表单中控件的数量。
 method :要发送的 HTTP 请求类型,通常是 “get” 或 “post” ;等价于 HTML 的 method 特性。
 name :表单的名称;等价于 HTML 的 name 特性。
 reset() :将所有表单域重置为默认值。
 submit() :提交表单。
 target :用于发送请求和接收响应的窗口名称;等价于 HTML 的 target 特性。
取得

元素引用的方式有好几种。其中最常见的方式就是将它看成与其他元素一样,并为其添加 id 特性,然后再像下面这样使用 getElementById() 方法找到它。

var form = document.getElementById("form1");

其次,通过 document.forms 可以取得页面中所有的表单。在这个集合中,可以通过数值索引或name 值来取得特定的表单,如下面的例子所示。

var firstForm = document.forms[0]; //取得页面中的第一个表单
var myForm = document.forms["form2"]; //取得页面中名称为"form2"的表单

另外,在较早的浏览器或者那些支持向后兼容的浏览器中,也会把每个设置了 name 特性的表单作为属性保存在 document 对象中。例如,通过 document.form2 可以访问到名为 “form2” 的表单。不过,我们不推荐使用这种方式:一是容易出错,二是将来的浏览器可能会不支持。
注意,可以同时为表单指定 id 和 name 属性,但它们的值不一定相同。

14.1.1 提交表单

用户单击提交按钮或图像按钮时,就会提交表单。使用