Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Erro nos combobox com IE


Dalvan Alves

Pergunta

Olá

Em meu script, ao selecionar uma categoria em no primeiro combobox, no segundo combobox aparece as subcategorias referentes a essa categoria.

No Mozilla Firefox roda perfeitamente, mas no Internet explorer 6 as palavras com acento não aparecem do modo correto.

Por exemplo:

Móveis - M?s

Acessórios - Acess?s

Maça - Ma?

Colocarei um exemplo para que vocês possam entender o que se passa.(teste.php e listar.php):

PAGINA "teste.php"

<script>
var req;
function loadXMLDocSubCategorias(url){
 req = null;

if (window.XMLHttpRequest) {
 req = new XMLHttpRequest();
 req.onreadystatechange = processReqChangeSubCategorias;
 req.open("GET", url, true); 
 req.send(null);

} else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP.4.0");
} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP.3.0");
} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
}
}
if (req) {
 req.onreadystatechange = processReqChangeSubCategorias;
 req.open("GET", url, true);
 req.send();
}
}
}

function processReqChangeSubCategorias(){

if (req.readyState == 4) {
if (req.status == 200) {

document.getElementById("atualizasubcategorias").innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:\n" + req.statusText);
}
}
}

function listarsubcategorias(codcategoria){
loadXMLDocSubCategorias("listar.php");
}
</script>

<form action="xxx.php" method="post" name="form" enctype="multipart/form-data">
  <select name="teste" onchange="listarsubcategorias(this.value);">
    <option value="">Selecione uma das opções</option>
    <option value="">Opção 1</option>
    <option value="">Opção 2</option>
    <option value="">Opção 3</option>
  </select>
  <div id="atualizasubcategorias">
    <select name="codsubcategoria" style="width:180px;">
    </select>
  </div>
</form>
PAGINA "listar.php"
<?
header("Content-type: text/html; charset=iso-8859-1");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

<select name="itens">
   <option value="1">Móveis</option>
   <option value="2">Acessórios</option>
   <option value="3">Maça</option>
</select>

Quando vocês selecionarem algum item no primeiro combobox, no segundo irá aparecer a palavra escrita errada.

ISSO É SÓ NO INTERNET EXPLORER 6.

Preciso que rode perfeitamente em todos os navegadores.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Já resolvi..usei na pagina "listar.php" o seguinte código:

<?
   $browser = $_SERVER['HTTP_USER_AGENT'];
   if($msie = strpos($browser, "MSIE")){
      $ver = substr($browser, $msie + 5, 3);
      if($ver < 7.0){
         mysql_set_charset ("utf8");
      }
   }
?>

Esse codigo faz com que nas versões do IE menores que a 7.0 o charset fique com "utf8" em vez de "utf-8" (Nesse caso o tracinho fez a diferença).

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...