Form
Form 是一个命名空间,同时也是一个模块,它汇聚了所有与表单相关的行为,对表单的操作和串行化进行了良好的封装。 但是它所提供的方法是针对整个表单的,而表单上的控件处理,由子模块 Form.Element 负责。
对于已扩展的表单元素(参见 “Prototype 如何扩展 DOM”), 大部分扩展方法都是直接可以使用的。
译注:注意本文中表单元素(Form Element 以及参数 formElement)和表单控件(Form Control)的区别: 表单元素指表单本身,即 <form> 标签所代表的元素。表单控件指表单中用于收集数据的元素,如 <input>、<select> 等等。
方法
disable
disable(formElement) -> HTMLFormElement
禁用表单中的所有控件。禁用后表单控件仍然可见,但不能再进行编辑。
enable
enable(formElement) -> HTMLFormElement
启用一个完全或部分控件被禁用的表单。
findFirstElement
findFirstElement(formElement) -> HTMLElement
在表单中查找第一个未隐藏、未禁用的控件。
focusFirstElement
focusFirstElement(formElement) -> HTMLFormElement
指定表单第一个未隐藏、未禁用的控件获取键盘焦点。
getElements
getElements(formElement) -> array
返回指定表单中所有控件的集合。
getInputs
getInputs(formElement [, type [, name]]) -> array
返回指定表单中所有 INPUT 元素的集合。若要通过 INPUT 元素的 type 和 name 属性限制返回的结果集,请使用可选的
type
和 name
参数。
request1.5.1
request([options]) -> new Ajax.Request
这是一个便捷的方法,可将表单串行化并通过 Ajax.Request 提交到表单
action
属性指定的 URL。参数 options
会被传递到 Ajax.Request
实例。在 options
参数中,可重定义表单的 HTTP 方式(译注:指
get、post 等等)并指定附加的参数。
reset
reset(formElement) -> HTMLFormElement
将表单中控件的值重置为默认值。
serialize
serialize(formElement[, getHash = false]) -> String | object
串行化表单数据为字符串,以适用于 Ajax 请求(默认行为)。若指定可选的参数 getHash
值为
true
,则返回一个 Hash 对象,以表单控件的名称(name 属性)为“键”,控件所代表的数据为“值”。
serializeElements
serializeElements(elements[, getHash = false]) -> string | object
串行化表单控件数组为字符串,以适用于 Ajax 请求(默认行为)。若指定可选的参数 getHash
值为
true
,则返回一个 Hash 对象,以控件的名称(name 属性)为“键”,控件所代表的数据为“值”。