Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, preciso enviar um dado vindo de um input para outra pagina via ajax, como posso preencher o exemplo abaixo o código esta incompleto e sou iniciante com ajax .
Obs: tenho que usar o método onblur no input para a função ser disparada assim que usuário sair do mesmo .
<script>
function buscacpf() {
$(document).ready(function(){
$('#cpf').change(function(){
var cpf = $(this).val();
var data = 'cpf='+cpf;
$.ajax({
type : "POST",
url : "valida.php",
data : data,
cache : false,
success: function(html)
{
$('#cpf').html(html);
}
})
});
});
}
</script>
abaixo o input .
<input name="cpf" id="cpf" onblur="buscacpf()">
para resumir seria assim, o usuário digita o cpf nesse input e ao sair dele ou clicar em outro campo a função envia o cpf do mesmo para a pagina valida.phpMano Obrigado
>
Em 04/05/2019 at 06:48, gabrielms disse:
@josenilson Bom, tem pequenos erros operacionais nesse seu código.
Não existe a necessidade de usar o evento pronto para documentos, quando o script está dentro de uma função.
Você também não precisa declarar a função dentro do atributo onblur, já que você está usando Jquery, você pode anexa um manipulador de eventos ao elemento input.
Um exemplo de código que funcionaria na sua aplicação:
$(document).ready(function(){
$("#cpf").on("blur, change", function(){
$.ajax({
method: "POST",
url: "validar.php",
data: {
"cpf":this.value
},
cache: false,
success: function(res)
{
$(this).html(res);
}
})
})
})
Bom esse código só vai funcionar em Jquery de versão maior que 1.9.
Usando o método on do Jquery, você pode remover o atributo onblur do input.
<input type="text" name="cpf" id="cpf">
Lembre de adicionar um tipo(type) ao <input>.
Obrigado pela ajuda, como eu faço na pagina valida.php para buscar o resultado do ajax ? ou seja para ver se o dado esta sendo enviado para ela ?>
31 minutos atrás, josenilson disse:
Mano Obrigado
Obrigado pela ajuda, como eu faço na pagina valida.php para buscar o resultado do ajax ? ou seja para ver se o dado esta sendo enviado para ela ?
1º - Na página valida.php coloque um var_dump, que por sua vez,
será responsável por retornar os dados do **$_POST** para o *ajax!*
**CÓDIGO**
<?php
var_dump (
$_POST
);
**2º **- Na"função" responsável por determinar o "*sucesso *da requisição"
*ajax*, adicione um **alert **para exibir os dados do **var_dump**
**CÓDIGO**
$(document).ready(function(){
$("#cpf").on("blur, change", function(){
$.ajax({
method: "POST",
url: "valida.php",
data: {
"cpf":this.value
},
cache: false,
success: function(res)
{
alert ( res );
}
})
})
})
Assim, quando você inserir algo no *INPUT *e clicar em alguma parte
do corpo da página, será exibida um alerta com os dados!>
22 horas atrás, ShadowDLL disse:
1º - Na página valida.php coloque um var_dump, que por sua vez,
será responsável por retornar os dados do **$_POST** para o *ajax!*
**CÓDIGO**
<?php
var_dump (
$_POST
);
**2º **- Na"função" responsável por determinar o "*sucesso *da requisição"
*ajax*, adicione um **alert **para exibir os dados do **var_dump**
**CÓDIGO**
$(document).ready(function(){
$("#cpf").on("blur, change", function(){
$.ajax({
method: "POST",
url: "valida.php",
data: {
"cpf":this.value
},
cache: false,
success: function(res)
{
alert ( res );
}
})
})
})
Assim, quando você inserir algo no *INPUT *e clicar em alguma parte
do corpo da página, será exibida um alerta com os dados!
Então deu certo aqui, mas como eu coloco esse resultado para aparecer centro de uma div ou em um h1 sem ser com esse alert ?Segue exemplo:
CÓDIGO
<!DOCTYPE HTML>
<html>
<head>
<title> TESTE </title>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body>
<input type="text" id="cpf" name="cpf" />
<div class="result" style="border: 1px solid #000; padding: 20px; margin-top: 30px; width: 30%"></div>
<script type="text/javascript">
$(document).ready(function(){
$("#cpf").on("blur, change", function(){
$.ajax({
method: "POST",
url: "script.php",
data: {
"cpf":this.value
},
cache: false,
success: function(res)
{
$ ( '.result' ).text ( res );
}
})
})
})
</script>
</body>
</html>
@josenilson Bom, tem pequenos erros operacionais nesse seu código.
Não existe a necessidade de usar o evento pronto para documentos, quando o script está dentro de uma função.
Você também não precisa declarar a função dentro do atributo onblur, já que você está usando Jquery, você pode anexa um manipulador de eventos ao elemento input.
Um exemplo de código que funcionaria na sua aplicação: