Pesquisa
Itens ativos
Posts mais lidos hoje
- Tutorial Para Iniciantes
- Manual
- Site fora do ar Personalizado
- Tutoriais
- Como instalar e configurar o TinyMCE no Drupal
- Sobre o Drupal
- Tutorial: Instalando o Drupal 6 em português
- Correios (Sedex, Malote, PAC) para e-Commerce
- Drupal em português do Brasil (instalação)
- Tutorial - Criando um site com caixas de notícias
Login do usuário
Assine o RSS do Drupal-BR
AHAH
Olá !
Alguém já usou AHAH ?
Quero que ao alterar uma lista (onchange) seja executado uma função para recarregar outra lista, mas não entendi direito os parâmetros:
$form['field_etapa']['key']['#ahah_bindings'] = array(
'event' => 'change', /* when */
'wrapper' => 'tttt', /* where */
'path' => 'testeahah', /* what */
'ahah_method' => 'replace'
),
);
O wrapper é o div que vai ser usado e path é o que executar, mas é um js ou um php. Tentei os dois e nada aconteceu.
Obrigado.
Enviado por guyroberto em 03/03/2008 - 01:53
- Se logue ou se registre para poder enviar comentários
- 229 leituras




Antes de mais nada, você está fazendo no Drupal 5 ou 6?
No 5, você precisa de um módulo extra, AHAH Forms (http://drupal.org/project/ahah_forms).
Se for no 6, você pode olhar esse videocast http://www.lullabot.com/blog/ahah-js-in-core e a explicação. (não vi o videocast porque no meu serviço é bloqueado).
Um outro ponto para começar a estudar é em: http://drupal.org/node/205296
Abraço
--
Rafael Ferreira Silva
http://www.rafaelsilva.net
Oi Rafael !
Estou usando o drupal 5.7. No link que você sugeriu, minha dúvida é o path:
'#ahah_bindings' => array(
'selector' => 'input.poll_choice_remove',
'event' => 'click',
'wrapper' => 'poll_choices_wrapper',
'path' => 'poll/poll_update_js',
),
pool/pool_update.js é uma função javascript que será executada quando o usuário clicar no item do form, certo ?
Esta função deve estar dentro de um arquivo ahah.js ou pode estar em qualquer .js do meu módulo ?
Obrigado
Pelo que entendi, preciso definir o hook menu:
Nome do módulo: stv_viagem.module
global $user;
$items = array();
if ($may_cache) {
$items[] = array(
'path' => 'stv_viagem/t1',
'callback' => 'stv_viagem_t1',
'type' => 'CALLBACK',
'access' => true,
);
return $items;
}
$form['field_pais']['key']['#prefix']='<div id="tttt">..';
$form['field_pais']['key']['#suffix']='</div>';
array (
'event' => 'change', /* when */
'wrapper' => 'tttt', /* where */
'path' => 'stv_viagem/t1', /* what */
),
);
Ainda não funciona, o que está errado ?
Obrigado.
O que quero fazer é recarregar a lista de países quando for alterada a lista de continentes.
Como executar a função ahah/simple_js funciona, eu alterei para:
array (
'event' => 'change', /* when */
'wrapper' => 'tttt', /* where */
'path' => 'ahah/simple_js1', /* what */
),
);
Depois criei a função ahah_simple_js1() no arquivo ahah_simple.module e ao executar o form e alterar o campo (change), esta função está sendo executada. Melhorou, mas...
A função ahah_simple_js1() executa outra função para montar um select list: $op=carrega_paises1();
$form['field_pais']['key']['#options']=$op;
Se eu executo print_r($op) o conteúdo está ok.
Eu pensei em fazer um drupal_render($form), mas a variável $form não existe dentro da rotina. O que fazer para retornar o campo field_pais carregado com a lista de países ?
Alguma idéia ?