[resolvido] Auto-completar Os Campos
#1
Posted 18/10/2008, 10:39
Seguinte, tenho uma tabela no meu banco de Clientes (por exemplo) com os campos: id, nome, telefone, email
Montei um formulário com todos os campos, sendo que quando o cara preencher o campo (input text) ID e clicar em um botão, ele preencher os outro campos do formulário com os respectivos dados daquele id.
Alguém faz idéia de como fazer isso ?!?! Mostra um exemplo ou um site que tenho um artigos blz ?!
Abraços pessoal, desde já obrigado pela atenção !
#2
Posted 18/10/2008, 21:30
No teu caso, na parte onde tem:
function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } }
Você vai fazer referência aos campos do teu form, e não colocar dentro do conteúdo de uma DIV apenas.
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#3
Posted 18/10/2008, 23:51
Até a parte do arquivo .js eu já havia feito......as funções e talz.......você falou que nesse trecho do código:
function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } }
é para eu referenciar os campos do meu form. Mas minha dúvida ainda é a seguinte: eu estou fazendo em PHP, e tenho um SELECT que busca no banco semelhantemente ao link que me passastes. Mas como passarei o valor de um registro do banco pro Value do Input text ?? Ou eu terei que fazer o arquivo PHP escrever todos os campos ?!?
Abraços amigo e desde já valeu pela atenção!
#4
Posted 19/10/2008, 04:15
Por exemplo, no php você criar um array java script:
echo "campo['nome'] = $nome; campo['email'] = $email; campo['telefone'] = $telefone;";Isso vai ser mostrado no responseText. Como o que vai ser mostrado é um texto normal e não um javascript, é só usar o eval() para que o array funcione como deveria.
var campo = new Array(); eval(xmlHttp.responseText); // aqui está o array com os valoresAí é só ir adicionando os valores nos campos.
document.forms['nomeForm'].elements['nomeCampo'].value = campo['nome'];
#5
Posted 19/10/2008, 09:32
funcoes.js:
function completaForm(){ var request = getXmlHttp(); var codigo = document.getElementById('codigo').value; var url = "verificarUsers.php?id="+codigo+""; request.open('GET', url, true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.onreadystatechange = function(){ <!-- CARREGANDO --> if(request.readyState == 1){ document.getElementById('carregando').innerHTML = "<img src='imgs/carregando.gif' alt='Carregando' /> Processando..."; } <!-- OK --> if(request.readyState == 4 && request.status == 200){ document.getElementById('carregando').innerHTML = ''; document.getElementById('carregando').style.display = 'none'; var campo = new Array(); eval(request.responseText); document.getElementById('nome').value = campo['nome']; } } request.send(null); }
verificaUsers.php
header("Content-Type: text/html; charset=ISO-8859-1", true); $con = mysql_connect("localhost","root","") or die ("<strong>Erro: </strong>" . mysql_error()); $bd = mysql_select_db("teste", $con) or die ("<strong>Erro: </strong>" . mysql_error()); $id = $_GET['id']; $sql = "SELECT id, nome, email, historico FROM colunistas WHERE id = '".$id."'"; $qry = mysql_query($sql) or die ("<strong>Erro: </strong>" . mysql_error()); $reg = mysql_fetch_array($qry); $num = mysql_num_rows($qry); # SE EXISTIR O COLUNISTA if($num > 0){ echo "campo['nome'] = ".$reg['nome'].";"; # SE NÃO EXISTIR }else{ echo "Não retornou a Nenhum Valor!"; }Não funfou ..... mostra UNDEFINED no campo nome. Me ajuda por favor....... heheheh
Abraços e desde já obrigado pela atenção de todos !
Edição feita por: == MotoBoy ==, 19/10/2008, 09:36.
#6
Posted 19/10/2008, 09:57
O que você pode tentar:
- um alert() no request.responseText para ver o que ele tem.
- tira o var campo = new Array(); que tá no javascript e coloca no php, por exemplo:
echo "var campo = new Array(); campo['nome'] = ".$reg['nome'].";";
#7
Posted 19/10/2008, 22:22
eu já havia tentado por um document.getElementById.... via PHP, mas a função responseText retorna uma string mesmo =[ !!
Será que terei que fazer o PHP imprimir todo o formulário novamente com os seus devidos valores ?!! Acho meio gambiarra isso !!
Ficarei no aguardo hiroshi ! Abraços !
#8
Posted 20/10/2008, 09:02
Coloque aspas na linha do echo para ver.
echo "campo['nome'] = '".$reg['nome']."';";
#9
Posted 20/10/2008, 16:42
Fiz o que você disse Hiroshi, só não sabia exatamente o que a função EVAL() fazia, mas agora entendi. Coloquei dessa maneira no código PHP:
echo "document.getElementById('nome').value = '".$reg['nome']."';"; echo "document.getElementById('email').value = '".$reg['email']."';"; echo "document.getElementById('historico').value = '".$reg['historico']."';";
e no código JS, colocava o EVAL() e dentro o responseText:
eval(xmlhttp.responseText);
Muito obrigado pela atenção a todos do Forúm e principalmente a você Hiroshi ! Obrigado pela paciência e pela ajuda ! Abraços, fiquem com Deus !
#10
Posted 21/09/2017, 01:20
Keflex Antibiotics For Dogs How To Buy Viagra Pills
Levitra O Cialis <a href=http://cialtobuy.com>cialis price</a> Cialis Generico Costo Mexico
Sibutramina Compra En Usa viagra cialis Viagra Et Consequences
Lowest Cost Viagra 100mg
Blog Sur Clomid <a href=http://cialtobuy.com>cialis buy online</a> Cialis Lilly De
Acheter Du Kamagra En Pharmacie cialis Viagra Kostenlos Kaufen Colchicine Pills Canadian Kamagra Boite Amoxicillin Boils Le Cialis En Tunisie cialis price No Perscription Drug Websites Actos
#11
Posted 21/09/2017, 13:37
E Gravidanza Propecia Finasteride
Kamagra Oral Jelly Romania cialis price Doxycycline From Canada
#12
Posted 05/10/2017, 20:06
Acheter Cialis En France viagra prescription Buy Generic Tamoxifen No Prescription
Viagra Generique Levitra viagra Baclofene Toulouse
Como Comprar Cialis Discretamente viagra online pharmacy Viagra American Express Cephalexin 500mg Recall
#13
Posted 13/10/2017, 06:41
Viagra 200mg Online Price Canada Levitra Composicion viagra prescription Cephalexin Mixed Achat Tadalis Sx Sans Risque
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)