Jump to content


Photo

Consulta Com Ajax.


  • Faça o login para participar
4 replies to this topic

#1 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 27/04/2006, 14:08

Boa tarde, pessoal!

Seguinte...
Tenho um script, com Ajax, q verifica se já existe um CPF na base.

Acontece que ele sempre está pegando a condição de como se existisse.

O script segue:


function verifica_cpf_cnpj(){
				
				dados = document.getElementById('Pes_Cpf_Cnpj');
	local = document.getElementById('resultado');
	local.innerHTML = "Carregando...";
	xmlhttp.open("GET","../beans/TRemoto.php?Pes_Cpf_Cnpj=" + dados, true);
	xmlhttp.onreadystatechange = function() {

	   if (xmlhttp.readyState == 4){
		   var resultados = xmlhttp.responseText;
		if (resultados) 
			local.innerHTML = "Documento já cadastrado!";
					else 
									local.innerHTML = "";
								}
   }
   xmlhttp.send(null);
}


Ele sempre retorna a variável resultados, informando que o documento já está cadastrado.

A query do arquivo TRemoto.php está funcionando perfeitamente...

Alguma alma caridosa tem idéia do que pode ser?

Valeu! (y)

[]´s
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#2 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 27/04/2006, 14:40

Cara, o problema é obviamente na saída do TRemoto.php... Retorne true ou false e veja como graciosamente seu problema se resolve...
Klaus Paiva
Conheça também: Taperás

#3 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 28/04/2006, 13:13

Então...

O TRemoto.php tem a seguinte condição:


if ($SQL->GetRows() > 0)
	echo 0;
else
	echo 1;


O xmlhttp.responseText tá só retornando 1

Mas quando eu executo o TRemoto, direto, usando GET e enviando os dados, ele retorna corretamente (0 qdo não encontrar e 1 qdo encontrar)...

Só pra constar...

Tb testei com return true e false, mas deu a mesma coisa...
Como se não encontrasse nenhum registro (sendo que o registro existe e o TRemoto.php funciona normalmente)...

[]'s (y)
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"

#4 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 28/04/2006, 15:34

Limpa o cache.

ps: Sugestão já que razão não há com base em seus relatos.
Eduardo Batista

#5 Boxer

Boxer

    Ativo

  • Usuários
  • 304 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 28/04/2006, 16:25

Pois é... Foi feito... E o resultado é o mesmo...

Vou postar os codigos...


TRemoto.php

$cpf_cnpj = $_REQUEST['Pes_Cpf_Cnpj'];


	$SQL = new TSQL();
	$SQL->SetSql("select Pes_Cpf_Cnpj from pes_pessoa WHERE Pes_Cpf_Cnpj = '".$cpf_cnpj."'");
	$SQL->Query();


		if ($SQL->GetRows() > 0){
   						return false;
		  }else{
   				return true;
		}




Ajax.js

function verifica_cpf_cnpj(){
				dados = document.getElementById('Pes_Cpf_Cnpj');
	local = document.getElementById('resultado');
	local.innerHTML = "Carregando...";
	xmlhttp.open("GET","../beans/TRemoto.php?Pes_Cpf_Cnpj=" + dados, true);
	xmlhttp.onreadystatechange = function() {
	   if (xmlhttp.readyState == 4){
		   var resultados = xmlhttp.responseText;
		if (resultados) 
			local.innerHTML = "Documento já cadastrado! ";
					else 
			local.innerHTML = "";
								}
	   }
   xmlhttp.send(null);
}



Formulario.php (somente o chamado da função)

<td width="30%" height="24" align="right" valign="middle" class="textocinza11">*CPF/CNPJ:</td>
<td valign="middle">
	<input name="Pes_Cpf_Cnpj" type="text" disabled id="Pes_Cpf_Cnpj"  class="clscampohome" onfocus="this.className='clscampohomeon'" onblur="this.className='clscampohome';verifica_cpf_cnpj();"  value="Selecione o tipo de documento" size="30" maxlength="18"/>
<label class="textocinza11">&nbsp;<span class="textocinza_claro">(sem pontua&ccedil;&atilde;o)</span></label>
<br /><div id='resultado' class="titulo_menu_vendas"></div></td>


Valeu!!!

[]'s (y)
"O único lugar, no mundo, onde o sucesso vem antes do trabalho, é no dicionário"




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq