Ir para conteúdo

POWERED BY:

Arquivado

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

Renato Duarte

[Resolvido] Primeira solicitação assíncrona com Ajax não quer fun

Recommended Posts

Estou tentando fazer a minha primeira atualização de página de forma assíncrona com Ajax seguindo os exemplos do livro "Use a cabeça - Ajax", mas não estou conseguindo. A necessidade é executar uma função que mostrará o nome do funcionário quando este digitar o seu código (lido através do código de barras do cartão de ponto) e

 

O código abaixo deveria estar funcionando, mas apenas o IE 8 mostra um erro que aponta para a linha

 

request.onreadystatechange = atualiza();

Eu não consegui achar o que está errado. Segue o código abaixo

<form id="ponto" name="ponto" method="GET" action="buscaFuncionarioAjax.php">
 <table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
	<tr>
 	<td height="76">
 	<input name="cod" id="cod" onchange="busca()" type="text" class="codigo_barras" size="4" maxlength="4" /></td>
	</tr>
	<tr>
 	<td><div align="center">Passe o cartão ou digite o seu código de funcionário </div></td>
	</tr>
	<tr>
 	<td>
 	<textarea name="dados" cols="60" rows="2" id="dados" class="textarea"></textarea>
 	</td>
	</tr>
 </table>
</form>

<script language="javascript" type="text/javascript">
var request = null;
 try
 {
	request = new XMLHttpRequest();
 }
 catch (trymicrosoft)
 {
	try
	{
 	request = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (othermicrosoft)
	{
 	try
 	{
 	request = new ActiveXObject("Microsoft.XMLHTTP");
 	}
 	catch (failed)
 	{
 	request = null;
 	}
	}
 }
 if (request == null)
 {
	alert ("Erro ao criar objeto de requisição");
 }

function atualiza()
{
 if (request.readyState == 4)
 {
	if (request.status == 200)
	{
 	var nomeFuncionario = request.responseText;
 	document.getElementById("dados").value = nomeFuncionario; // dados é o nome da textarea que quero mostrar o nome do funcionário retornado pelo PHP
 }
 else
 {
 	alert ("Erro! O status da requisição é " + request.status);
	}
 }
}

function busca()
{
 var cod = document.getElementById("cod").value;
 var url = "buscaFuncionarioAjax.php?cod=" + escape(cod);
 request.open("GET", url, true);
 request.onreadystatechange = atualiza();
 request.send(null);
 alert("teste, chegou aqui");
}
</script>

Desde já, obrigado pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples

 

troque

 

request.onreadystatechange = atualiza();

por

 

request.onreadystatechange = function(){ atualiza() };

t+

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.