Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi pessoal. Estou com um problema com o CakePHP que está difícil encontrar ao menos a causa para tentar resolver.
O problema é o seguinte:
Há vários formulários no sistema, todos usando o FormHelper fornecido pelo Cake. No Firefox funcionam muito bem, sem problema nenhum. Mas no Google Chrome e no nosso querido amigo IE, não funcionam. Eu sinceramente tentei encontrar alguma coisa diferente no furmulário que pudesse ser a causa de sua não submissão, mas não achei nada que justificasse este comportamento. Consegui resolver o problema incluindo o callback onclick como atributo do formulário:
$form->end(array('label' => 'Filtrar', 'onclick' => 'this.form.submit());
Assim consigo fazer os formulários serem submetidos no Chrome e no IE.
Mas há alguns formulários no sistema que não necessariamente são submetidos, geralemente são formulários de filtragem. O programador que iniciou o desenvolvimento do sistema optou por fazer os filtros (por usuário, por exemplo), usando formulários e eventos do JQuery. Ele intercepta os cliques nos botões de submit dos formulários e redireciona (location.redirect) para uma URL contendo os parâmetros de filtragem no formato chave:valor, usados no Cake.
Aí complicou de vez. Se eu usar a solução descrita acima, os formulários são submetidos mas nada acontece. E se não usar, simplesmente o Chorme e o IE não respondem ao evento do jQuery ($(".box_search form").click(function(){...}).
Não gostaria de fazer "gambiarras" no código, já que ele funciona bem no Firefox.
Gostaria de saber porque esses formulários só são submetidos nele.
Agradeço muito a quem puder me ajudar.
Carregando comentários...