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

[RESOLVIDO] Retorno de AJAX em campos HTML


Bokerão

Pergunta

Pessoal... mas uma vez dúvida sobre o retorno do AJAX.

Desculpem se a pergunta é idiota, mas enfim, vamos lá.

Tenho uma busca de dados por CEP em AJAX, a busca vai até o PHP que retorna um array com o bairro, cidade, etc...

Bem, no AJAX, como eu faço para pegar esses dados popular os inputs (Bairro, Cidade) do formulário HTML???

Valeu gente...

Editado por Bokerão
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Eu to trabalhando com o Lumine (ORM PHP), então é retornado um Array:

Array ( [0] => Array ( [uf] => [nome] => Cremação [localidade] => 4565 [cidade] => Belém [bairro] => 6727 [id_tipo_localidade] => 1 [descricao] => São Miguel [cep] => 66065215 [tipo_logradouro] => 140 [desc_tipo_logradouro] => Passagem [id] => 224321 [descricao_abreviada] => Passagem São Miguel [descricao_sem_acento] => são Miguel [servidor] => Array ( ) [uf_v] => [bai_nu_sequencial_fim] => [log_complemento] => [log_tipo_logradouro] => [log_status_tipo_log] => ) ) Endereco: Passagem são Miguel

A questão é como trabalhar com esse retorno para que alguns itens desse array preencham os htmls do form?

Link para o comentário
Compartilhar em outros sites

  • 0

O ideal seria percorrer todos os elementos desse array e utilizar um separador para cada elemento, deixando o código mais organizado

Exemplo:

Localidade 1|yyy|Nome do lugar 2|valor 3
E depois utilizar o método split da classe string para gerar o array novamente em javascript. Após isso, você pode percorrer o array e gerar os elementos dinamicamente
var s=document.getElementById("select")
var y
s.innerHTML="" //Limpa o select
a=xmlhttp.responseText.split("|")
for(var i=0;i<a.length;i++){
y=document.createElement("option")
y.value=a[i] //Valor enviado pelo formulário
y.innerHTML=a[i] //Texto que aparecerá para o usuário
s.appendChild(y)
}

Link para o comentário
Compartilhar em outros sites

  • 0

Entendi o conceito, mas ali você colocou select como exemplo.

No meu caso seriam vários inputs... eu teria que setar no PHP ao "refazer" o array algum indicador de qual campo é o que, para poder depois identificar que a rua é do input "rua" bairro é do input "bairro" , inclusive alguns itens do array eu nem vou usar (não tenho permissao de mexer na instrucao SQL).

Teria idéia de como fazer nesse caso??

Link para o comentário
Compartilhar em outros sites

  • 0

Se for vários campos, o retorno poderia ser algo como:

Cidade 1!Bairro 1_Bairro 2_Bairro 3|Cidade 2!Bairro 1_Bairro 2_Bairro3
Ou seja, após o nome da cidade haveriam os respectivos bairros Para recuperar, poderia ser algo assim:
var cidades
cidades["nome"]=""
cidades["bairro"]=[]

var select_cidades=document.getElementById("cidades")
var select_bairros=document.getElementById("bairros")
var a=xmlhttp.responseText.split("|")
var b
var k
seu_select.innerHTML="" //Limpa o select
for(var i=0;i<a.length;i++){
//Salva os dados
b=a[i].split("_")
cidades["nome"]=b[0]
for(var y=1;y<b.length;y++){
cidades["bairro"][y-1]=b[y]
}
//Inclui a opção no select
k=document.createElement("option")
k.value=cidades["nome"][i]
k.innerHTML=cidades["nome"][i]
select_cidades.appendChild(k)
}
//Quando o select for modificado
select_cidades.onchange=function(){
select_bairros.innerHTML="" //Limpa o select dos bairros
for(var i=0;i<cidades["bairros"].length;i++){
k=document.createElement("option")
k.value=cidades[this.value]["bairros"][i]
k.innerHTML=cidades[this.value]["bairros"][i]
}
}

Obs.:

Não cheguei a testar, mas deve funcionar

Link para o comentário
Compartilhar em outros sites

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...