Ir para conteúdo

POWERED BY:

Arquivado

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

DuuuuDuuuu

[JQUERY] Sem erro e única função que funciona é alert

Recommended Posts

Boa noite galera, são 19:15hrs de um sabado e to aqui trabalhando sem comer nada, então imaginam quantas teclas já faltam no meu teclado, mas o seguinte tem um código em jquery bem simples, mas só um detalhe, não roda nada, ele carrega o arquivo do jquery pois fiz a verificação, ele faz alerts, mas não funciona por exemplo o setIntval(), não pega os eventos click, submit, ready, q foram os q testei, não puxa as function, to loco com isso, segue abaixo o .js

 

function alive(){
	$.getJSON("http://192.168.0.101/chat/atendimento/alive",function(data){
    	if(data.status == 0){
			finalizar();		
		}
    })
}

function finalziar(){
	$.getJSON("http://192.168.0.101/chat/atendimento/finalizar");
	var msg = '<div class="atendente"><p class="msg">Seu atendimento foi finalizado!</p></div>';
	campos(false);	
	return false;
}

function campo(status){
	$("input").attr("disabled", status);
	$("textarea").attr("disabled", status);
	$("select").attr("disabled", status);
}

function empty(v){if (v==null || v==0 || v=='' || v==""){return true;}else{return false;}}



$('#form').submit(function(event){
	event.preventDefault();

    if(!empty("#form textarea").val()){
		var destino = $('#form').attr('action');
		campo(true);
		var status = true;
        $.post(destino, {
            'msg': $("input[name='msg']").val()
        }, function(data){
            if (data.status == 'sucess'){				
                $("input[msg='msg']").val('');
				
				var msg = '<div class="'+data.tipo+'"><span class="nome">'+data.nome+'</span> <span class="hora">'+data.data+' - '+data.nome+'</span><br /><p class="msg">'+data.msg+'</p></div>';
				
				$("#msg").append(data.msg);
				$("input[name='msg']").val('');
				campo(true);
            } else {
				campo(true);				
            }
        });
    }
    return false;
});

$('#finalizar').click(function(event){
	finalizar();
});

setInterval('alive', 100);

e aqui o html:

 

<?= DOCTYPE ?>
<html lang="<?= LANGUAGE ?>"  xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title><?= TITULO ?></title>
  <meta http-equiv="Content-Type" content="text/html; charset=<?= CHARSET ?>" />
  <meta http-equiv="content-language" content="<?= LANGUAGE ?>" />
  <link rel="stylesheet" href="<?= CSS ?>style.css" charset="<?= CHARSET ?>" type="text/css" media="screen" />
  <link rel='icon' type='image/x-icon' href='<?= MIDIA ?>favicon.ico' />
  <meta http-equiv="cache-control" content="no-cache" />
  <meta name="description" content="<?= DESCRIPTION?>" />
  <meta name="keywords" content="<?= KEYWORDS?>" />
  <meta name="robots" content="<?= ROBOTS ?>" />
  <meta name="rating" content="<?= RATING ?>" />
  <meta name="author" content="<?= AUTHOR ?> " />
  <meta name="language" content="<?= LANGUAGE ?>" />
  <meta name="reply-to" content="<?= EMAIL ?>">
  <script src="<?= JS ?>jquery-lastUpdate.min.js" type="text/javascript"></script>
  <script src="<?= JS ?>chat.js" type="text/javascript"></script>
  </head>
<body>

<div id="msg">

</div>

<a href="http://192.168.0.101/chat/atendimento/finalizar" id="finalizar">Finalizar</a><br />

<form action="http://192.168.0.101/chat/atendimento/send" method="post" id="form">
  <textarea name="msg"></textarea>
  <input type="submit" name="enviar" value="Enviar" id="submit"/>
</form>


</body>
</html>

o backend ta pronto, e o .js é basicamente isso, mas só um detalhe, não roda, não tem ponto de interrupção, testei no debug do firebug, do ie, do chrome, do diabo a quatro e nada, talvez deve ser uma falha minima devido ao cansaço já, mas tchê não to conseguindo ver onde ta esse erro, fico no aguardo gurizada, grande abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Devido ao cansaço acho que deixou escapar alguns detalhes:

Errado - function finalziar(){

Correto - finalizar

Como esta utilizando jQuery o script precisa estar envolvido aqui dentro - $(function(){ <!-- aqui dentro --> })

 

Aqui setInterval('alive', 100);

 

Não seria assim - setInterval(alive, 100);


Por enquanto foi o que achei de erro.

Espero que ajude.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, curte só o código abaixo

 

if (window.alive)
{
	alert("Exite");
} else {
	alert("Não existe");
}

function alive(){
	$.getJSON("http://192.168.0.101/chat/atendimento/alive",function(data){
    	if(data.status == 0){
			finalizar();		
		}
    })
}

Coloquei um alert pra verificar se existe ou não a função alive e sempre da false para o comando window.alive, to ficando pasmo com isso já



 

então cara, ele não dizia nada no console de erros do firebug, assim como eu disse no final do post

 

 

mas só um detalhe, não roda, não tem ponto de interrupção, testei no debug do firebug, do ie, do chrome, do diabo a quatro e nada

 

mas com a dica do Angelo já deu certo, só ele não identificando as functions

Compartilhar este post


Link para o post
Compartilhar em outros sites

function alive(){
	$.getJSON("http://192.168.0.101/chat/atendimento/alive",function(data){
    	if(data.status == 0){
			finalizar();		
		}
    })
}
if (window.alive)
{
	alert("Exite");
} else {
	alert("Não existe");
}

a ordem importa nesse caso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

fiz assim e deu certo, fico uma boa função para ter um keep alive, confere

var alive = setInterval(alive, 30000);

function alive(){
	$.getJSON("http://192.168.0.101/chat/atendimento/alive",function(data){
    	if(data.status == 0){
			finalizar();		
		}
    })
}

function finalizar(){
	$.getJSON("http://192.168.0.101/chat/atendimento/finalizar");
	var msg = '<div class="atendente"><p class="msg">Seu atendimento foi finalizado!</p></div>';
	campo(true);
	clearInterval(alive);
	return false;
}

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.