Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Michael.Dev

Ajax

Recommended Posts

Olá Pessoal, estou com esse código aqui só que não roda no IE só no firefox e no Chrome.

Vocês podem me dar uma ajuda ai.Agradeço desde já.

 

<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">

	function ajax(){
			try{
				xmlhttp = new XMLHttpRequest();
			}catch(e){
				try{
					xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}catch(ee){
					try{
						xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
					}catch(eee){
						xmlhttp = false;
					}
				}
			}
		}

		function alimentaCombo(idMarca){
			var idFabricacao  = document.getElementById("Marca");
			var comboBox 	  = document.getElementById("Modelo");
			var string = "idModelo="+idFabricacao.value+"&idMarca="+idMarca;

			ajax();

	xmlhttp.open("POST", "../Controller/ComboAjax.php", true);		
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	xmlhttp.onreadystatechange=function(){

		if(xmlhttp.readyState == 1){
			comboBox.innerHTML = "<img src='img/loading.gif' />";
		}

		if(xmlhttp.readyState == 4){
			texto = xmlhttp.responseText;
			texto = texto.replace(/\+/g," ");
			texto = unescape(texto);
			if(texto != ""){
				comboBox.innerHTML = texto;
			}else{
				comboBox.innerHTML = "<option value=\"0\">Nenhum Item Relacionado</option>\n";
			}
		}
	}
	xmlhttp.send(string);
}

</script>    

Compartilhar este post


Link para o post
Compartilhar em outros sites

já que você já ta importando a lib jquery, use os métodos da lib para o ajax:

http://wbruno.com.br/blog/2009/10/06/combos-dependentes-ajax-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deixe o cara usar o ajax do jeito dele ué rs.

 

Você não descreveu o erro... porém, verifique se o seu PHP que é invocado por ajax está explicitamente definindo o charset do documento. Já tive situação onde funcionava perfeito no firefox e no explorer nada, então bastou definir o charset que normalizou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera este é o código, mas no Firefox e no Chrome funciona direitinho ele traz todos os Modelos referente a Marca,

Só que o Problema está no IE que não traz nada. Eu escolho a Marca só que o modelo carrega e não traz nada fica tudo em Branco.

 

Me de uma força ae galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

header("Content-Type: text/html; charset=ISO-8859-1");
include_once("../model/SqlConnect.php");

   class AjaxCombo
{
	public function GeraComboModelo($idMarca, $idMarcaPesquisado)
	{
		  $sql = mysql_query("SELECT * FROM modelo WHERE idMarca = '".$idMarcaPesquisado."' ORDER BY idModelo ASC");
		  $Numrows = mysql_num_rows($sql); 

		  $GeraConteudo = "<select name=\"MenuModelo\" id=\"MenuModelo\"/>\n";

		  if($Numrows == 0)
		  {
			 $GeraConteudo .= "<option value=\"0\">Nenhum modelo encontrado!</option>\n";
		  }
		  while($array = mysql_fetch_array($sql))
		  {
		     	if($idMarcaPesquisado == $array["idMarca"])
				{
					$select = 'selected="selected"';
				}
				else
				{
					$select = '';
				}
				$GeraConteudo .= "<option value=\"".$array["idModelo"]."\">".$array["Descricao"]."</option>\n";
		  }
		  echo "$GeraConteudo</select>\n";
	}
}

##################################
##  OBJETO DA CLASSE
##################################
$gera_combo = new AjaxCombo();
$gera_combo->GeraComboModelo($_POST["idMarca"], $_POST["idModelo"]);

 

Galera este é o código PHP onde faço as listagens de acordo com a Marca

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só que o Problema está no IE que não traz nada.

não traz nada, pq está errado.

 

faça conforme indiquei no post do blog. Irá funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.