表单

最后更新于:2022-04-01 23:54:02

## 表单 Web表单是开发人员与用户交互的重要控件。 **1、form** **1.1 form独有的属性和方法** 在HTML中,表单是由`
`来表示的,而在JavaScript中,表单对应的是HTMLFormElement类型。HTMLFormElement继承了HTMLElement,因此它跟其他HTML元素具有相同的默认属性。 ``也有自己独有的属性和方法: ``` acceptCharset:服务器能够处理的字符集 action:接收请求的URL elements:表单中所有控件的集合(HTMLCollection) enctype:请求的编码类型 length:表单中控件的数量 method:要发送的HTTP请求类型,通常是“get”或“post” name:表单的名称 reset():将所有表单域重置为默认值 submit():提交表单 target:用于发送请求和接收响应的窗口名称 ``` **1.2 获取表单元素** 获取表单元素一般有两种方式: - 通过id来获取,比如获取一个id名为form1的表单元素: ``` document.getElementById('form1'); ``` -通过docuemnt.forms获取name名为form1的表单元素: ``` document.forms['form1] ``` `document.forms`可以获取到当前页面中所有的表单元素,我们又可以通过方括号表示法获取某个属性,传入数值索引或`name`值。 **1.3 提交表单** 提交表单也有两种方式: - 通过``或` ``` 只要``内有上面这三种按钮,点击的时候就会提交表单,而且,当相应表单控件拥有焦点时,按回车键也会提交表单(焦点在textarea里例外,回车键是换行)。 - 通过JavaScript触发submit()提交: ``` var form1 = document.getElementById('form1'); form1.submit(); ``` 在请求发送给服务器之前,浏览器会触发submit事件,我们可以主动监听它: ``` var form1 = document.getElementById('form1'); form1.onsubmit = function(){ } ``` 注意:在调用submit()方法提交表单时,不会触发submit事件。 **1.4 重置表单** 重置表单也有两种方式: - 重置按钮 ``` ``` 当点击重置按钮时,会触发reset事件: ``` form1.onreset = function(){ } ``` - 通过reset()方法 ``` form1.reset(); ``` 与调用submit()不同,调用reset()方法时也会触发reset事件。 **1.5 表单字段** 除了使用原生DOM方法访问表单元素外,每一个表单都有elements属性,该属性是表单中所有元素的集合(比如`
form1.elements[0] // 取得表单中的第一个字段 form1.elements['yourname']; // 取得name名为“yourname”的字段 ``` 如果表单内有多个同名(name)表单控件,那么用name取时,就会返回一个NodeList集合。 ```
red green
var colors = form1.elements['color'] ``` colors是一个NodeList集合,包含了上面两个radio。 **1.5.1 表单字段的共有属性** 除了`
`元素,所有表单字段都拥有一些相同的属性。 共有的属性和方法: ``` disabled:布尔值,表单当前字段是否被禁用 form:指向当前字段所属表单的指针,只读 name:当前字段的名称 readonly:布尔值,表示当前字段是否只读 tabIndex:表单当前字段的切换(tab)序号 type:当前字段的类型 value:当前字段将被提交给服务器的值。 ``` ``和`
';