Usando AHAH com o Drupal

user warning: Table 'feijo_probr.semaphore' doesn't exist query: SELECT expire, value FROM semaphore WHERE name = 'locale_cache_pt-br' in /home/feijo/public_html/includes/lock.inc on line 154.

O Drupal versão 6 já traz AHAH no seu core.

Precisei do AHAH para fazer funcionar campos com carga dinâmica no conteúdo, imagine uma tabela com 60+ mil registros, impossível carregar tudo na montagem do form.

Então, de acordo com a seleção do usuário, carrego o valor necessário pro campo, com poucas centenas. Mas o Drupal tem uma proteção contra invasão de forms, ao clicar no Submit ele acusa um erro de conteúdo ilegal.

Para resolver isso, basta usar este código na função que responde ao AHAH:

$form = form_get_cache($_POST['form_build_id'], $form_state);
$form['campo']['#options'] = $novos_valores;
form_set_cache($_POST['form_build_id'], $form, $form_state);

Your rating: None Average: 3.7 (3 votes)