Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estive pesquisando como fazer para meu formulario se autopreencher atravez de um campo preenchido e cheguei ao Json, nunca tinha ouvido falar, entao achei alguns exemplos, mais no fim nenhum funcionou.
pode ter sido algo que eu fiz de errado?
Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script src="jquery-2.1.0.min.js" ></script>
<script>
$(document).ready(function() {
$("#nome_prod").blur(function() {
// atribuimos o nome a var
var nome_prod=$("#nome_prod").attr("value");
// carregamos o JSON passando o nome
$.getJSON("dados.php", {name:nome_prod}, function(json){
// pegamos o id obtido na página acima e passamos para o input
$("#id_prod").val(json[0].id);
// pegamos o sobrenome obtido na página acima e passamos para o input
$("#preco_prod").val(json[0].sobrenome);
});
});
});
</script>
</head>
<body>
<form action="" method="POST">
coloque o nome: <input type="text" id="nome_prod" name="nome_prod" value=""><br>
id: <input type="text" id="id_prod" name="id_prod" value=""><br>
sobrenome: <input type="text" id="preco_prod" name="preco_prod" value=""><br>
</form>
</body>
</html>
Dados.php
<?php
// dados da conexão
$conexao = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("json");
extract($_GET);
// dados da consulta
// OBSERVE QUE A CONSULTA SE BASEIA NO NOME PASSADO
// PORTANTO, FAÇA A CONSULTA DE ACORDO COM SUA TABELA
// $name, NÃO DEVE SER ALTERADO, VEM DO FORMULÁRIO
$selec = "SELECT * FROM produtos WHERE nome_prod='$nome_prod'";
$exec = mysql_query($selec, $conexao) or die(mysql_error());
while($campos=mysql_fetch_array($exec)) {
extract($campos);
$Array = Array();
// ESSA PARTE É IMPORTANTE
// CRIAMOS OS ÍNDICES id, COM O ID DA TABELA E SOBRENOME, TAMBÉM DA TABELA
// USE DADOS RELATIVOS AOS QUE PRECISA
// NOTE QUE id E sobrenome É USADO NO JS PARA OBTER OS DADOS, SOMENTE ALTERE OS $variavel...
$Array[] = Array("id" => "$id_prod", "sobrenome" => "$preco_prod");
$json_encode = json_encode($Array);
echo $json_encode;
}
mysql_close($conexao);
?>Tabela Produtos:
id_prod
nome_prod
preco_prod
Utilize o firebug no mozilla, ou ctrl+shift+j, vai abrir o console de javascript, ae é só debugar