老葛的Drupal培训班 Think in Drupal
下面的键是可选的:
• effect: 在替换元素时使用的视觉效果。可能的值有none,fade,和slide。默认值为none。
• event: 事件,用来触发浏览器执行JavaScript HTTP请求。Drupal基于元素类型设置了一些默认值。这些值显示在表10-1中。
表 10-1.在表单元素中,触发AHAH的事件的默认名字
元素 默认事件
submit mousedown*
button mousedown*
image_button mousedown*
password blur
textfield blur
textarea blur
radio change
checkbox change
select change
*还包括keypress事件。
• method: 当JavaScript HTTP请求的响应返回时,用来修改已有HTML的JQuery方法。可能的值有after,append, before, prepend, 和replace。默认的方法是replace。这个值用在下面的JavaScript(参看misc/ahah.js)中:
if (this.method == 'replace') {
wrapper.empty().append(new_content);
}
else {
wrapper[this.method](new_content);
}
• progress: 通知的方式-----一个JavaScript事件发生后,Drupal向用户发送通知的方式。该属性的值是一个数组,包含以下键:type和message,例如:
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Click Me'),
'#ahah' => array(
'event' => 'click',
'path' => 'poof/message_js',
'wrapper' => 'target',
'effect' => 'fade',
'progress' => array(
'type' => 'throbber',
'message' => t('One moment...'),
),
)
);
type的默认值为throbber,它是一个圆形的转动的图标,在JavaScript HTTP请求正在运行时,它还会显示一个可选的消息。另外的一个选择就是bar,它是一个进度条(如果声明为bar的话,那么将会添加一个单独的JavaScript文件misc/progress.js)。如果类型被设置为了bar,那么有以下可选键可用:url和interval。url键用来为进度条声明一个URL,通过调用这个URL,就可以判定它的百分比,一个从0到100的整数;而interval键则是用来声明检查进度的频率(以秒为单位)。
• selector: 通过声明一个选择器,就可以将JavaScript HTTP 请求的结果附加在页面中的多个元素上(而不仅仅是表单元素)。