Form.Observer
new Form.Observer(element, frequency, callback)
一个定时观察器,当表单中任意一个控件的值发生变化时,将触发回调。
译注:注意,若要使用表单观察器,则表单中需要检测的控件必须添加
name 属性。
Form.Observer 使用 Form.serialize() 实现
getValue 方法。关于定时观察器的描述见
Abstract.TimedObserver。
样例
在下面的样例中,如果表单中任意控件的值发生变化,则改变表单的外观显示。当数据提交后(储存),
表单重置为初始时的外观。
Login Preferences
Current settings:
...
Form.Element.Observer
new Form.Element.Observer(element, frequency, callback)
一个针对指定表单控件的定时观察器。
Form.Element.Observer 使用 Form.Element.getValue() 实现 getValue() 方法。关于定时观察器的描述见 Abstract.TimedObserver。
TimedObserver 是一个抽象的观察器类,其具体类的实例用于对一些值进行定期检测, 若值发生变化,则触发一个回调。检测频率以秒为单位。
TimedObserver 对象使用 getValue() 实例方法对值进行检测。 在抽象类中并没有实现这个方法,你必须使用具体类如 Form.Observer 或 Form.Element.Observer 才能进行相应的检测。前者序列化一个表单,当结果发生变化时, 触发回调。而后者则是检测到指定的表单控件的值发生变化,就触发回调。
TimedObserver 的使用非常简单:实例化具体类并传递相应的参数,例如:
new Form.Element.Observer( 'myelement', 0.2, // 200 毫秒
function(el, value){
alert('The form control has c...
<script src="prototype.js"></script>
<form id="frm">
<div id="div1">
<input type="text" id="txt" name="txt" onchange="return alert('Now')"/>
<input type="text" id="txt2" name="txt2" />
<input type="button" id="btn" name="btn"
value="click" onclick="test(event)" />
<input type="submit" />
<a href="http://www.google.com" onclick="test2(event)">Google</a...