Ir para conteúdo

POWERED BY:

Arquivado

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

Galuschka

Ajax não funciona no google chrome o no opera

Recommended Posts

Peguei este código neste link:

http://forum.imaster...es-ajax-jquery/

 

ele está funcionando só no mozzila e no ie8, no chrome e no opera não carrega...

alguem conhece um código pra preencher combobox que funcione na maioria dos browsers?

ou o erro está no código?

 

eu mudei o código um pouco ele está aqui:

pagina.php:

<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){//inicio o jQuery
$("select[name='rede']").change(function(){
var idCombo1 = $(this).val();//pegando o value do option selecionado
//alert(idCombo1);//apenas para debugar a variável
		
	$.getJSON(//esse método do jQuery, só envia GET
			'valida_combo.php?tipo=1',//script server-side que deverá retornar um objeto jSON
			{idCombo1: idCombo1},//enviando a variável
				function(data){
				//alert(data);//apenas para debugar a variável
								
					var option = new Array();//resetando a variável
								
					resetaCombo('posto');//resetando o combo
					$.each(data, function(i, obj){
										
					option[i] = document.createElement('option');//criando o option
					$( option[i] ).attr( {value : obj.id} );//colocando o value no option
					$( option[i] ).append( obj.nome );//colocando o 'label'

					$("select[name='posto']").append( option[i] );
                                            //jogando um à um os options no próximo combo
			});
		});
	});
});     

/* função pronta para ser reaproveitada, caso queira adicionar mais combos dependentes */
function resetaCombo( el )
{
	$("select[name='"+el+"']").empty();//retira os elementos antigos
}
</script>

valida_combo.php:

<?php
function intGet( $campo ){
                return isset( $_GET[$campo] ) ? (int) utf8_decode($_GET[$campo]) : 0;
        }       
if (isset ($_GET['tipo']))
   switch ($_GET['tipo'])
   {
	  case 1:
	  function retorno( $id )
	  {
		  $sql = "SELECT P.`id_pessoa_juridica`,P.`razao_social`
			FROM pessoa_juridica P 
			JOIN pj_pj 
			WHERE P.`tipo_pessoa`= '3' 
			AND pj_pj.id_destino='$id'
			AND P.id_pessoa_juridica = pj_pj.id_origem ";
					  
			$mysqli = new mysqli("localhost", "root", "solid", "Sistema");
			
			$q = $mysqli->query( $sql ); 
			
			$json = ' [';
			if( $q->num_rows > 0 )
			{
					while( $dados = $q->fetch_object() )
					{
						$json .= '{"nome":"'.$dados->razao_social.'","id":"'.$dados->id_pessoa_juridica.'"}, ';
					}
			}
			else
			  $json .= '{"nome'.$campo.'": "Não Encontrado"}';
					
			$json .= ']';
			
			return $json;
	  }
	  
	  echo retorno( intGet('idCombo1') );
      break;
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... o erro esta na tua implementação.. veja:

http://www.wbruno.com.br/scripts/combos-dependentes.php

 

 

o código original funciona sim no Chrome e no Opera ^_^

 

qndo alterar coisas do script tome cuidado.. por exemplo, de onde saiu:

valida_combo.php?tipo=1
??

se qr enviar outros parâmetros, o correto pela sintaxe, era adicionar no json a ser enviado:

'valida_combo.php',
                        {idCombo1: idCombo1, tipo: '1'},

 

novamente, esse script funciona em todos os navegadores que testei.. se tá com algum problema, é particularidade da tua implementação.

Compartilhar este post


Link para o post
Compartilhar em outros sites
use o Responder Azul respondery.png

ou a 'Resposta Rápida'.

 

 

Aperte Ctrl+Shif+J no teu Chrome

 

veja qual erro aparece.

 

você está rodando o script atravez de um servidor web, certo ?

 

localhost/...

 

ps: o link do exemplo agora está fora do ar, pq mudei de servidor e não migrei o banco completamente ainda.

mas o script funciona sim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi @Gustavo,

 

Acesse esse link:

http://www.wbruno.com.br/scripts/combos-dependentes.php

 

Funcionou ?

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.