在HTML中,表单是<form>
;
在javascript中,表单是<HTMLFormElement>
类型。
【HTMLFormElement独有的属性和方法】:
1. acceptCharset 服务器能处理的字符集
2. action 接受请求的URL
3. elements 表单中所有控件的集合,属于HTMLCollection类型
4. enctype 请求的编码类型
5. length 控件的数量
6. method 要发送的HTTP请求类型get/post
7. name 表单的名称
8. target 发送和接收响应的窗口名称
9. reset() 重置表单
10.submit() 提交表单
【获取表单的方式】:
1. document.getElementById("表单id")
2. document.forms[?] 文档中索引为?的表单
【提交表单的方式】:
1. 以提交按钮的方式提交表单时,浏览器会在发送请求到服务器之前触发表单的submit事件。我们可以在submit事件处理
程序中添加一些方法,如验证表单数据、阻止表单提交等等。
<input type="submit" value="按钮上的文字">
<button type="submit">按钮上的文字</button>
图像按钮:
<input type="image" src="…">
2. 表单无需包含提交按钮也可提交表单,该方法不会触发submit事件,所以要先验证表单数据。
表单.submit();
【重置表单的方式】:
1. 以重置按钮的方式重置表单时,会触发表单的reset事件。我们可以在reset事件处理程序中添加一些方法,
如阻止表单重置等等。
<input type="reset" value="按钮上的文字">
<button type="reset">按钮上的文字</button>
2. 表单无需包含提交按钮也可重置表单,该方法会触发reset事件。
表单.reset();
【表单字段elements】
表单.elements 是个有序列表,包括<input>、<textarea>、<button>、<filedset>
,可以通过位置或者name特性来访问具体的字段:
1. 表单.elements[位置索引]
2. 表单.elements["name特性的值"]
1.【表单elements共有的字段属性】
1. disabled 为true时,表示该字段禁用
2. form 指向当前字段所属的表单
3. name 字段名
4. readOnly 为true时,表示字段是只读的
5. tabIndex 当前字段的tab序号
6. value 字段将提交给服务器的值type
7. type 字段类型(input和button的type是可以动态修改的“比如submit、button、reset”,
select的type是只读的“比如select-one、select-multiple”)
2.【表单elements共有的字段方法】
1. focus()
将浏览器焦点设置到字段上(HTML5新增“autofocus”属性,不用js就可以自动把焦点移到相应字段上)
#默认只有表单字段才能获得焦点。若想其他元素获得焦点,先把元素的tabIndex设为 -1,然后调用focus()方法。
2. blur()
从元素中移走焦点
//在表单的第一个字段中显示插入符号 EventUnit.addHandler(window,"load",function(event){
var element = form1.elements[0];
if(element.autofocus !== true){
element.focus();
} });
3.【表单elements共有的字段事件】
1. blur 当前字段失去焦点时触发
2. change 对于<input>和<textarea>,失去焦点且value值改变时触发;对于<select>,选项改变时触发
3. focus 当前字段获得焦点时触发