Ola amigos, gostaria de saber se alguém já passou por isso: estou usando f:ajax (xmlns:f=“http://java.sun.com/jsf/core”) e funciona normalmente no firefox e no chrome mas no internet explorer (testei na versão 8 ) não funciona. Como o código era grande, fiz um novo só para passar a ideia do que quero fazer e não ficar muito complicado. A ideia é essa:
Basicamente, tem a escolha em um radio se a pessoa é fisica ou juridica, habilitando um painel com cpf se for tipo = 1 (fisica) ou o painel com cnpj, se o tipo for =2 (CNPJ. Como falei, criei este exemplo para ficar mais simples de explicar o problema. No firefox e no Chrome ele habilita e desabilita normalmente, no Internet explorer é como se nem existisse…
O problema é esse…nada de erro, somente não funciona no IE… eu fico clicando no radio e é como se não tivesse código associado (como se não não tivese renderizando)…já no firefox e no chrome funciona perfeitamente. O problema foi detectado na versão 8 do IE…
descobri o erro e para quem um dia passar pelo mesmo problema aí está a solução: problema está em utilizar encoding ISO-8859-1, usando UTF-8 tudo funciona normal.
cuidado com a utilização do encoding ISO-8859-1 como abaixo (trabalhando com ajax):
<?xml version="1.0" encoding="ISO-8859-1" ?>
Como falei, funciona perfeitamente no Chrome e no Firefox mas no Internet Explorer não…
Estava com um ajax chamando outra página por POST e recebendo dados JSON, e charset Windows-1252, funcionando normalmente. No entanto, ao incluir uma chamada que retornava acentos, o charset utf-8 do json retirava os acentos…
No Firefox e Chrome, tudo permaneceu funcionando, no entanto, no IE alguns BUGs apareceram.
O principal BUG é que o ajax só funcionava uma vez , e nos próximos cliques nada acontecia, como se função não estivesse mais lá.
Neste caso, nao pesquisei mais, e apenas impedi o retorno com acentos do JSON.
Mas você tem alguma idéia de ler os textos com acentos e nao utilizar o charset utf-8?
Tive o problema relatado acima, com o IE. A função tinha sido criada e funcionava apenas uma única vez.
Resolvi o problema alterando a forma como o IE faz a atualização das páginas. Lá no IE, vá até opções de internet (internet opitions), e depois em configuraçoes (settings) do histórico da internet (Browsing History) e definina a primeira escolha , ou seja, sempre que eu visitar a webpage (Every time I visit the webpage).
Não tenho certeza, mas aparentemente o IE utiliza um cache interno e quanto a configuração em em automático, ele não atualiza a página com o ajax.
Estou tendo alguns problemas também com a formataçao o encoding windows-1252, pois os acentos são excluidos nas chamadas do ajax, que usa encoding UTF-8.
Alguem conseguiu resolver isto?
Olá, a solução que você deu resolve para seu acesso mas pense num sistema de inscrições ou que seja aberto a várias pessoas, como garantir que elas farão a mudança nas opções no IE?
estava perdendo um tempo com isso e fazendo vários tipos de teste. Enfim, cheguei numa solução que funcionou: fez o Internet explorer funcionar com o f:ajax e a acentuação ficou normal, aceitando caracteres de nosso idioma, como o ç, o ~, etc…
em resumo, este código não funciona (lembrando que no chrome e firefox funciona normalmente):
<?xml version="1.0" encoding="ISO-8859-1" ?>
Já este funciona:
<?xml version="1.0" encoding="ISO-8859-15" ?>
Ou seja, se tiver com ISO-8859-1 o f:ajax não funciona, com UTF-8 tive problemas com acentuação, e com o ISO-8859-15 funcionou normal (tanto o f:ajax no IE, quanto a acentuação fica normal). Mudei isto apenas no arquivo .XHTML que tinha o f:ajax, nos demais continuei usando ISO-8859-1.