• Cadastro
  • Fóruns
  • Manual
  • Projetos
  • Seminário
  • Tradução
  • Tutoriais
Início

Pesquisa

Google

Itens ativos

  • Upload de imagens em massa
  • Formulario personalizado
  • Site fora do ar Personalizado
  • Views e rss
  • Onde hospedar site com Drupal?
  • Como instalar e configurar o TinyMCE no Drupal
  • Caixa de noticisa estilo do site Yahoo.com.br, br.msn.com entre outros.
  • Módulo image ou outro
  • Configurações
  • Erro de requisição HTTP
mais

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

  • Criar uma conta
  • Recuperar senha

Parceiros

Assine o RSS do Drupal-BR

RSS dos itens mais ativos

RSS do conteúdo

RSS dos comentários

Início » Fórum » Suporte » Drupal

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(

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.

‹ Dar ao cliente a possibilidade de criar itens de menu sem lhe dar acesso a administração de menus Mudar nome do node HOME ›
Enviado por guyroberto em 03/03/2008 - 01:53
  • Drupal
  • Se logue ou se registre para poder enviar comentários
  • 229 leituras
Em 03/03/2008 - 16:46 rafael disse:

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

  • Se logue ou se registre para poder enviar comentários
Em 03/03/2008 - 17:08 guyroberto disse:

Oi Rafael !

Estou usando o drupal 5.7. No link que você sugeriu, minha dúvida é o path:
'#ahah_bindings' => array(

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

  • Se logue ou se registre para poder enviar comentários
Em 03/03/2008 - 23:54 guyroberto disse:

Pelo que entendi, preciso definir o hook menu:

Nome do módulo: stv_viagem.module

function stv_viagem_menu($may_cache) {
   global $user;
   $items = array();
      if ($may_cache) {
           $items[] = array(
              'path' => 'stv_viagem/t1',
              'callback' => 'stv_viagem_t1',
                  'type' => 'CALLBACK',
                  'access' => true,
            );
   return $items;
}

function stv_viagem_t1() { print '<p>teste teste teste</p>'; }

$form['field_pais']['key']['#prefix']='&lt;div id="tttt">..';
$form['field_pais']['key']['#suffix']='&lt;/div>';

$form['field_continente']['key']['#ahah_bindings'] = array(
            array (
            'event' => 'change', /* when */
            'wrapper' => 'tttt', /* where */
            'path' => 'stv_viagem/t1', /* what */
            ),
        );

Ainda não funciona, o que está errado ?

Obrigado.

  • Se logue ou se registre para poder enviar comentários
Em 04/03/2008 - 01:28 guyroberto disse:

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:

$form['field_continente']['key']['#ahah_bindings'] = array(
            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 ?

  • Se logue ou se registre para poder enviar comentários
Designimage

Este site é feito, orgulhosamente, com Drupal.