Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lemp

Formulário com preenchimento automatico, vários campos

Recommended Posts

Olá galera,

 

Estou com um problema aqui, parece que é relativamente simples, mas não estou conseguindo fazer de forma correta.

 

Seguinte, eu fiz um script, onde em um formulário, quando é preenchido o campo 'ClientID', os outros campos do formulário também são preenchidos automaticamente.

 

Exemplo:

 

Preenchendo o campo ClientID com o valor '1001', aparece o Nome do Cliente, telefone, Endereço, Cidade, nos campos destinados à isso logo na frente do campo ClientID.

 

O problema:

 

Não estou conseguindo fazer isso com vários campos, eu preciso de um formulário com 15 linhas, onde o usuário deverá preencher apenas o ClientID, e as demais informações aparecerão.

 

Não sei se ficou claro, mas serão 15 campos ClientID para serem preenchidos, para isso imaginemos que o código ficaria como: ClientID1, CLientID2, etc, etc.

 

Mas não consigo fazer todas as linhas retornarem o valor, somente a primeira.

 

Vejam se conseguem me ajudar:

 

Arquivo HTML com o formulário:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
	<title>Ajax - Client lookup</title>
	


	
	<style type="text/css">
	body{
		background-repeat:no-repeat;
		font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;
		height:100%;
		background-color: #FFF;
		margin:0px;
		padding:0px;
		background-image:url('/images/heading3.gif');
		background-repeat:no-repeat;
		padding-top:85px;
	}
	
	fieldset{
		width:500px;
		margin-left:10px;
	}

	</style>
	<script type="text/javascript" src="js/ajax.js"></script>
	<script type="text/javascript" src="teste.js"></script>

</head>
<body>

		<form name="clientForm" action="ajax-client_lookup.html" method="post">
	
	<fieldset>
		<legend>Client information</legend>

		<table>
			<tr>
				<td><label for="clientID">Client ID:</label></td>
				<td><label for="firstname">First name:</label></td>
				<td><label for="lastname">Last name:</label></td>
				<td><label for="address">Address:</label></td>
				<td><label for="zipCode">Zipcode:</label></td>
				<td><label for="city">City:</label></td>
				<td><label for="country">Country:</label></td>
			</tr>
			<tr>
				
				<td><input name="clientID" id="clientID" size="5" maxlength="4"></td>
		
				
				<td><input name="firstname" id="firstname" size="20" maxlength="255"></td>

			
				
				<td><input name="lastname" id="lastname" size="20" maxlength="255"></td>
		
				
				<td><input name="address" id="address" size="20" maxlength="255"></td>

	
				
				<td><input name="zipCode" id="zipCode" size="4" maxlength="5"></td>
			
			
				<td><input name="city" id="city" size="20" maxlength="255"></td>

		
				
				<td><input name="country" id="country" size="20" maxlength="255"></td>
			</tr>
			
			<tr>
				
				<td><input name="clientID1" id="clientID1" size="5" maxlength="4"></td>
		
				
				<td><input name="firstname1" id="firstname1" size="20" maxlength="255"></td>

			
				
				<td><input name="lastname1" id="lastname1" size="20" maxlength="255"></td>
		
				
				<td><input name="address1" id="address1" size="20" maxlength="255"></td>

	
				
				<td><input name="zipCode1" id="zipCode1" size="4" maxlength="5"></td>
			
			
				<td><input name="city1" id="city1" size="20" maxlength="255"></td>

		
				
				<td><input name="country1" id="country1" size="20" maxlength="255"></td>
			</tr>
			
		</table>	
	
  <p>
	<input type="reset" name="Submit" value="Redefinir">
  </p>
</form>

	</fieldset>
		
</body>
</html>

Arquivo getClient.php

 

<?php

$connection = mysql_connect("server","usuario","senha");  
mysql_select_db("table",$connection);

if(isset($_GET['getClientId'])){  
  $res = mysql_query("select * from ajax_client where clientID='".$_GET['getClientId']."'") or die(mysql_error());
  if($inf = mysql_fetch_array($res)){
	echo "formObj.firstname.value = '".$inf["firstname"]."';\n";	
	echo "formObj.lastname.value = '".$inf["lastname"]."';\n";	
	echo "formObj.address.value = '".$inf["address"]."';\n";	
	echo "formObj.zipCode.value = '".$inf["zipCode"]."';\n";	
	echo "formObj.city.value = '".$inf["city"]."';\n";	
	echo "formObj.country.value = '".$inf["country"]."';\n";	
	
  }else{
	echo "formObj.firstname.value = '';\n";	
	echo "formObj.lastname.value = '';\n";	
	echo "formObj.address.value = '';\n";	
	echo "formObj.zipCode.value = '';\n";	
	echo "formObj.city.value = '';\n";	
	echo "formObj.country.value = '';\n";	  
  }	
}

?>

 

E aqui os arquivos Java que são chamados no arquivo HTML

 

http://siberiaprojetos.com.br/pedido/js/ajax.js

http://siberiaprojetos.com.br/pedido/teste.js

 

 

Agradeço antecipadamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, desculpe esse UP, mas acho que essas informações podem ajudar:

 

Obviamente o problema acima pode ser resolvido com Arrays simples (ou quase)

 

Preciso que ela retorne o valor 15 vezes, sendo o valor numérico referente ao campo.

 

id1

id2

id3

 

Assim poderei usar os mesmo cods para todas as linhas.

 

alguem sabe como implementar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade e bem simples. Nao sei se e a melhor solucao mas como e para preencher campos ja existenstes a melhor forma e criar arrays.

 

A parte de php ficara da seguinte maneira

 

.............

query que selecciona os campos desejados

.............

 

depois tem de fazer um echo que fique da seguinte maneira

 

isto e um exemplo:

 

echo "nome=semnome&idade=150&pais=brasil"

 

 

parte de ajax

................................

 

cria-se uma variavel que recebe o valor do responsetext

 

depois e so retirar da string os dados enviados

 

 

Assim que eu tiver o script pronto e se funcionar eu mando o link para download

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.