Ir para conteúdo

POWERED BY:

Arquivado

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

samirbh

[Resolvido] Onde estou falhando

Recommended Posts

Ola,

estou tentando fazer esse codigo funcionar mas ele nao faz o que eu quero ou seja exibir o conteudo dentro da div selecting.

 

O conteudo gerado pelo arquivo consultaajax.php e um trecho de texto tirei ate o if para ver se funcionaria mas nada nao ta chegando ate la.

e quanto ao arquivo de exibicao ta certo tambem.

 

Oque ha de errado com o codigo abaixo?

 

function BuscaNomePaciente()
{
  	var NomePaciente = $("input[name='NomePaciente']").val();
  	
	$.post('consultaajax.php',{ NomePaciente: NomePaciente},function(data)
	{  $('#selecting').html(data); });
     /*alert (nomepaciente);*/
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

deveria axibir um select na pagina ao digitar e caso minha consulta no banco la do arquivo consultaajax.php for falsa retorna uma menssagem.

 

vou exibir o raciocino completo em codigo, melhor:

 

arquivo de exibicao

<form method="post" name="frm_cadAtendi1" id="frm_cadAtendi1">
<div id='selecting'></div>
<b>Nome Paciente</b><br>
<input type="text" name="NomePaciente" id="NomePaciente" onkeyup="BuscaNomePacienteAtendimento();">
<form>

arquivo JS que já contem a biblioteca jquery e a funcao para chegar ao meu objetivo

function BuscaNomePacienteAtendimento()
{
  	var NomePaciente = $("input[name='NomePaciente']").val();
  	
	$.post('consultaajax_siga.php',{ NomePaciente: NomePaciente},function(data)
	{  $('#selecting').html(data); });
     /*alert (nomepaciente);*/
}

arquivo que faz a consulta

if(isset($_POST['NomePaciente']) and $_POST['NomePaciente'] !== '')
{
	$sql = "select Nome, Prontuario from Cli_paciente where Nome like '".$_POST['NomePaciente']."%'";
	$qsql = $adodb->GetAll($sql);
	if($qsql == true)
	{
		?>
		<select name='nomefilt' id='nomefilt' size=5 onclick="document.getElementById('busca_nome').value = document.getElementById('nomefilt').value">
		<?php
		for( $a = 0; $a < count($qsql); $a++)
		{
			echo "<option value='".$qsql[$a][0]."'>".$qsql[$a][0]." -     <b>".$qsql[$a][1]."</b></option>";
		}
		echo "</select>";
	}
	else
	{
		echo "<font color=red>Nenhum paciente tem nome que inicie com <b>".$_POST['nomefiltrado']."</b></font>";
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara te dou um conselho que tu vai achar o erro rapidinho:

 

1º Use o Firebug do firefox.

 

2º Coloque um código (abaixo) para ver tudo o que está vindo via POST ou GET:

 

<?php
echo "<pre>";
print_r($_POST);
print_r($_GET);
echo "</pre>";
?>

3º Vai colocando um alert (veja abaixo), para ver se as coisas estão indo como planejado:

 

function BuscaNomePacienteAtendimento()
{
 alert("1 - Beleza, chamou a função!");

 var NomePaciente = $("input[name='NomePaciente']").val();

 alert("2 - O nome do paciente é: " + NomePaciente);
 
 $.post('consultaajax_siga.php',{ NomePaciente: NomePaciente},function(data)
 { 
  $('#selecting').html(data);
  alert("3 - RESULTADO: " + data);
  });

 alert("4 - Finalizou tudo OK! Ou não =(");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

as requisicoes nao chegam a ir para a consultaajax.php ja fiz um teste na primeira linha do aquivo e nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao sei o qnto você ja alterou do script inicial, e do que ja foi postado.. mas a principio, vai contra as praticas do jQuery utilizar os eventos HTML, dentro da marcacao HTML.

 

Deveria ter atrelado essa funcao, num $(document).ready()..

<input type="text" name="NomePaciente" id="NomePaciente" onkeyup="BuscaNomePacienteAtendimento();">
e fora isso, os nomes nao estao batendo.. ali em cima você declarou:

 

function BuscaNomePaciente()
descartados esses erros, precisamos pensar nos outros possiveis.. como:

-> você chamou corretamente a biblioteca jQuery ?

 

(desculpe, nao se irrite com os questionamentos, mas precisamos eliminar possibilidades).

Uma ideia que tive aqui, eh trocar o envio de POST para GET, assim você poder debugar o script server-side, e ver se ha alguma ma formacao nele..

http://localhost/consultaajax.php?NomePaciente=Fulano

ai você ve se retorna oque você esperava.

 

e fora isso, teu arquivo eh:

consultaajax_siga.php ou consultaajax.php ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

encarecidamente pessolhes desculpas pelo tempo perdido.

 

trabalho com uma pasta que tem o objetivo de proporcionar uma versao beta do sistema e o arquivo consultaajax_siga.php esta na pasta online e nao na pasta beta ou seja o problema estava entre a cadeira e o teclado.

 

foi mal galera desculpa ai.

 

 

e quanto aos questionamentos pode ficar tranquilo pois sei que o imasters e serio e nao vai deixar qualquer um ser moderador ou colaborador que sai da condulta apesar de ja ter visto mas [e raridade.

 

bom fiz desse jeito chamando via JS puro e nao JQuery pq nao domino ainda e nao sabia que vai contra as boas praticas.

 

porque uso meio que uma receita de bolo para fazer esse tipo de tarefa e achei mais seguro dar nome a funcao e como faria a chamada entao desde que a funcao tenha nome ao invez de:

$(function()
{
   conteudo...
}

ai ia ficar semalhante a:

function nome_funcao()
{
   conteudo...
}

 

vlw e desculpa ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tranquilo samirbh :lol:

 

Importante é que resolveu.

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.