初探 Drupal 中使用 ajax 之後
使想在 AJAX complete 之後執行一些自定義的 javascript
例如ajax form submit 之後 slideUp form
submit 之後需要修改某些內容
使用的是 ajax callback 的command, 加上 ajax_command_invoke
Form array:
<?php
$form['actions']['submit']['#ajax'] = array(
'callback' => 'example_callback',
'wrapper' => 'field-wrapper',
'method' => 'append',
'effect' => 'slide',
);
?>
callback:
<?php
function example_callback($form, $form_state) {
$commands = array();
$commands[] = ajax_command_prepend(NULL, theme('status_messages'));
$commands[] = ajax_command_invoke('.field-form', 'slideUp', array(2000));
return array('#type' => 'ajax', '#commands' => $commands);
}
?>
ajax_command_invoke
可以對 selector 執行一個函數
第三個參數是一個 array, 是傳給函數的參數
ref:
http://api.drupal.org/api/drupal/includes%21ajax.inc/group/ajax/7
http://api.drupal.org/api/drupal/includes%21ajax.inc/function/ajax_comma...