Jump to content


Photo

[resolvido] Auto-completar Os Campos


  • Faça o login para participar
17 replies to this topic

#1 == MotoBoy ==

== MotoBoy ==

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Masculino
  • Localidade:Fortaleza (CE)

Posted 18/10/2008, 10:39

Olá Galera....pesquisei na Net algum artigo que se tratava disso, mas não encontrei nada. =[

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 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

Posted 18/10/2008, 21:30

http://www.w3schools...ax_database.asp

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.
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.

#3 == MotoBoy ==

== MotoBoy ==

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Masculino
  • Localidade:Fortaleza (CE)

Posted 18/10/2008, 23:51

Opa meu amigo ! Desde já obrigado pela atenção !

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 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 19/10/2008, 04:15

Nessa parte aí é quando você recebe os dados que o php manda para o javascript. O que você pode fazer é criar um array javascrip no php com os valores dos campos, depois é só ir adicionando com campo.value=valor.

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 valores
Aí é só ir adicionando os valores nos campos.
document.forms['nomeForm'].elements['nomeCampo'].value = campo['nome'];

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#5 == MotoBoy ==

== MotoBoy ==

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Masculino
  • Localidade:Fortaleza (CE)

Posted 19/10/2008, 09:32

Olá Amigo......fiz do jeito que você disse......vô postar meu código para vocÊs verem:

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' />&nbsp;&nbsp;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 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 19/10/2008, 09:57

Bom, eu fui falando sem fazer os testes, não sabia se ia funcionar. :P

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'].";";

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#7 == MotoBoy ==

== MotoBoy ==

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Masculino
  • Localidade:Fortaleza (CE)

Posted 19/10/2008, 22:22

Olá Amigo !

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 Alex Hiroshi

Alex Hiroshi

    Super Veterano

  • Ex-Admins
  • 4923 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 20/10/2008, 09:02

Sim, ele retorna uma string mesmo. O eval() é pra executar essa string.
Coloque aspas na linha do echo para ver.
echo "campo['nome'] = '".$reg['nome']."';";

Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Ex-Administrador

#9 == MotoBoy ==

== MotoBoy ==

    12 Horas

  • Usuários
  • 133 posts
  • Sexo:Masculino
  • Localidade:Fortaleza (CE)

Posted 20/10/2008, 16:42

CONSEGUI !!!!!!!

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 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 21/09/2017, 01:20

Variety Package With Apcalis viagra cialis Amoxicillin Tooth
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 RonsisM

RonsisM

    Super Veterano

  • Usuários
  • 15724 posts
  • Sexo:Masculino
  • Localidade:Plovdiv

Posted 21/09/2017, 13:37

Discount Flagyl Tablets cialis Buying Generic On Line Zentel Ups Overnight Shipping
E Gravidanza Propecia Finasteride
Kamagra Oral Jelly Romania cialis price Doxycycline From Canada

#12 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 05/10/2017, 20:06

Where Do I Buy Cialis Viagra Barata Canada Pacription Drugs viagra Nitrostat No Prescription
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 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 13/10/2017, 06:41

Viagra Senza Ricetta Roma Amoxicillin For Bronchitis Amoxicillin Treatment Bronchitis viagra Nizagara En Ligne
Viagra 200mg Online Price Canada Levitra Composicion viagra prescription Cephalexin Mixed Achat Tadalis Sx Sans Risque

#14 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 30/10/2017, 18:26

Pharmacie Online Viagra Discount generic viagra Force

#15 HaroNism

HaroNism

    Super Veterano

  • Usuários
  • 15385 posts
  • Sexo:Masculino
  • Localidade:San Miguel de Tucuman

Posted 21/11/2017, 17:58

Green Kamagra viagra Buy Cheap Xenical Uk No Prescription Generic Viagra Online Keflex Safe During Breastfeeding
Amoxicillin Yogurt Effect Rio Rico Pharmacy Canadian Rx Net Hay Viagra Generico viagra Viagra A Quoi Ca Sert




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq