Ir para conteúdo
Fórum Script Brasil
  • 0

Distribuindo valores recebidos de uma consulta com Ajax


.Andreia.

Pergunta

Montei um exemplo simples de como fazer para distribuir os dados vindo do Ajax aos campos existentes no formulário.

Aqui não explicarei como é feita a parte do Ajax pois no fórum já tem bastante exemplos. Estou partindo do ponto em que vocês recebem os dados do Ajax.

Observações:

1) o retorno do ajax tem que vir em uma estrutura similar a um array. Como fazer isso? Lá na página onde voces fazem a busca no banco de dados tem o resultado da pesquisa certo? É só imprimir o resultado com as separações para a função javascript saber dividí-las.

2) Como é um exemplo, coloquei fixo a variavel Retorno, mas ela deve vir do Ajax. Exemplo:

SetaCampos(xmlHttp.responseText);
3) Os campos que devem receber valores precisam conter um ID igual, como no exemplo "grupo". 4) O array de retorno deve estar na ordem de exibição dos campos, exemplo: "primeiro_valor|segundo_valor|terceiro_valor". Ou seja, a ordem em que os campos do grupo estao sendo exibidos. Sugestão: O exemplo usa o ID para apontar quais campos receberão valores. Isso quando a aplicação recebe campos no meio que não receberam - como no exemplo o campo 3. Uma sugestao para quando voces não tiverem esta situação, é envolver todos os campos dentro de uma DIV. Exemplo de aplicação: Para voces terem ideia aonde isso pode ser aplicado, imaginem aquelas buscas de endereço onde digita-se o CEP e retornam os dados (Endereço, número, cidade, estado) e cada campo receba seu valor. Navegadores: Testado e funcionando no IE 7 e Firefox 2.0.0.14 Código:
<script language="JavaScript">
function SetaCampos(Retorno) {
var frm = document.frm.grupo;
var TotalElementos = frm.length;
var ArrayRetorno = Retorno.split("|");

    for (var i=0; i < TotalElementos; i++)
    {
            frm[i].value = ArrayRetorno[i];
    }
}
</script>

<form name="frm">
Campo1:<input type="text" name="campo1" id="grupo">

Campo2:<input type="text" name="campo2" id="grupo">

Campo3:<input type="text" name="campo3">

Campo4:<input type="text" name="campo4" id="grupo">

Campo5:<input type="text" name="campo5" id="grupo">

<input type="button" value="Buscar" onclick="SetaCampos('valor1|valor2|valor3|valor4')">
</form>

Qualquer dúvida, crítica, elogio ou sugestão.... só postar ;)

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...