Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Ventura

[Resolvido] Meu Scritp de Jquery não funciona no I.E.

Recommended Posts

Olá Amigos do Imasters, venho pedir a ajudar de vocês para um problema aqui que está acontecendo comigo!

tem um script em Jquery que eu uso em um site http://www.vtechinternet.com.br/leilao_vtech e nele eu preencho umas DIV´s usando o as resposta de um arquivo PHP , entre nesse site e vejam o Codigo-Fonte dele, vou postar aqui o codigo do Jquery que estou usando pra voce verem se tem alguma coisa de errado... pois no Firefox funciona normalmente... depois vcs testam no Firefox pra vcs verem o como funciona o meu script!

BOm aqui vai o script que puxo do arquivo funcao.js

function leiloes(op,produtos,q) {
    
    $.get("leilao.php",{
        op:op,
        produtos:produtos
    },function(data){
        var dados = eval('['+data+']');
        var i = 0;

        while (i < 3) {
            var pid = dados[0][i].produto;
            var segundos = dados[0][i].segundos;
            var valor = dados[0][i].valor;
            var apelido = dados[0][i].apelido;
            var termino = dados[0][i].termino;
            var hora = dados[0][i].hora;
           
            
            if (termino == 2)
                $("#valor"+pid).html("Finalizado!");

            else if($("#valor"+pid).length > 0)
                $("#valor"+pid).html(valor);

            if($("#user"+pid).length > 0)
                $("#user"+pid).html(apelido);

            if($("#tempo"+pid).length > 0)
                $("#tempo"+pid).css("color","#333333");
            if (segundos < 11)
                $("#tempo"+pid).css("color","red");
            $("#tempo"+pid).html(segundos);
            
            i++;
        }
         $("#relogio").html(hora);
   
    });
}

function hour() {
    $("#hora").load("hora.php");
}

Se alguem soube ou ja teve esse mesmo problema posta aqui,

 

Bom pessoal, desde já agradeço! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

At.

 

Carlos Ventura

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui:

var dados = eval('['+data+']');
quer dizer que você tem um retorno jSON certo ?

 

essa forma que você está tratando o objeto, me parece bem estranha... e jSON é meio complicado de dar suporte ao IE mesmo..

dá uma olhada em como fiz aqui:

http://forum.imasters.com.br/index.php?/topic/365795-combos-dependentes-ajax-jquery/

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aqui:

var dados = eval('['+data+']');
quer dizer que você tem um retorno jSON certo ?

 

essa forma que você está tratando o objeto, me parece bem estranha... e jSON é meio complicado de dar suporte ao IE mesmo..

dá uma olhada em como fiz aqui:

http://forum.imasters.com.br/index.php?/topic/365795-combos-dependentes-ajax-jquery/

 

Opa, beleza? valeu pela resposta,

sim, eu faço o PHP escrever Json e no script ali eu tento ler os dados passados pelo PHP.

 

Mais como voce acha eu devo fazer pra tentar resolver isso... existe uma maneira de ler isso sem o eval?

 

Valeu denovo William Bruno.

 

Carlos Ventura

Compartilhar este post


Link para o post
Compartilhar em outros sites

você viu o link que postei ?

 

limpando, para mostrar como tratar o jSON com jQuery:

function(data){
                                         $.each(data, function(i, obj){

                                                alert( obj.id );
                                                alert( obj.nome );

                                });

ai no caso, eu usei o método $.getJSON()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah beleza cara, vou tentar aqui, dai eu posto se de certo!

valeu por enquanto Willian

 

Carlos Ventura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz cara... fiz alteração que voce sujeriu mais deu na mesmo, funciona no Firefox, mais não no maldito IE... será que não em outro lugar a zica? rsrs

Estranho isso!

Agora ta assim o codigo:

function leiloes(op,produtos,q) {
    
    $.getJSON("leilao.php",{
        op:op,
        produtos:produtos
    },function(data){
        $.each(data, function(i, obj){                                     
		//alert( obj.produto );   
		//alert( obj.valor );
		
		 	var pid = obj.produto;
            var segundos = obj.segundos;
            var valor = obj.valor;
            var apelido = obj.apelido;
            var termino = obj.termino;
            var hora = obj.hora;
			
			if (termino == 2)
                $("#valor"+pid).html("Finalizado!");

            else if($("#valor"+pid).length > 0)
                $("#valor"+pid).html(valor);

            if($("#user"+pid).length > 0)
                $("#user"+pid).html(apelido);

            if($("#tempo"+pid).length > 0)
                $("#tempo"+pid).css("color","#333333");
            if (segundos < 11)
                $("#tempo"+pid).css("color","red");
            $("#tempo"+pid).html(segundos);
            
       
         $("#relogio").html(hora);
		
		  });
    });
}

function hour() {
    $("#relogio").load("hora.php");
}

Carlos Ventura

Compartilhar este post


Link para o post
Compartilhar em outros sites

o locoo cara! :huh:

 

faz assim:

$.each(data, function(i, obj){  
   alert( obj );
diz ai oque retorna no IE e no FF

 

o jSON no php, já ta voltando com as [] ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

o locoo cara! :huh:

 

faz assim:

$.each(data, function(i, obj){  
   alert( obj );
diz ai oque retorna no IE e no FF

 

o jSON no php, já ta voltando com as [] ??

 

Olha, no IE não mostra nada pra mim! mais no FF aparece o alert com [object Object]

 

O PHP retorna assim pra mim:

[{"atual":0,"produto":"1","valor":"R$ 0,02","segundos":"30","apelido":"carlosventura","termino":"0","hora":"15:40"},{"atual":0,"produto":"2","valor":"R$ 0,10","segundos":"30","apelido":"antonioluiz","termino":"0","hora":"15:40"},{"atual":0,"produto":"3","valor":"R$ 0,03","segundos":"30","apelido":"carlosventura","termino":"0","hora":"15:40"}]

rsrs... Loucura mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou jogar aspas no atual tb ?

[{"atual":"0","produto":"1","v...
Vê ai se surte alguma mudança

 

onde você chama a função leiloes() ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou jogar aspas no atual tb ?

[{"atual":"0","produto":"1","v...
Vê ai se surte alguma mudança

 

onde você chama a função leiloes() ?

 

eu coloquei a aspa e nada ... ficou na mesma! :(

Eu chamo a função na index.php

abre o codigo-fonte pra você ver.. ta na parte de baixo...

 

q zica braba!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum..

 

<script type="text/javascript"> 
	var i_leiloes =window.setInterval("leiloes('partes','1,2,3,')",1000,3);

	var i_hour = window.setInterval("hour()",10000);
</script>
cara, nos testes que eu já fiz, setInterval costuma não funcionar, se você tenta passar parâmetros para a função chamada assim...

 

além doque tem um quinto parâmetro ali que parece estar 'faltando'... dá uma testada sem isso, mas verifica se ao menos o setInterval dá rodando:

function leiloes(op,produtos,q) {
alert( 'parametros recebidos: '+op+' '+produtos+' '+q ); veja se esse alert aparece, se não aparecer, vamos saber que o problema é na chamada do setInterval()

 

tem algum erro no debug do IE ?

canto inferior esquerdo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aeeee, deu certo!! é isso mesmo, eu tava passando aquele paramentro errado... falta de atenção!! tava passando ele no Setinteval... e tinha q passar ele na função!

Nossa veio valeu mesmo... por isso que é bom um segundo olhar o codigo, por você começa a ficar louco... rsrsrs, valeu cara!

 

At.

 

Carlos Ventura

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.