Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Carregando comentários...