Ir para conteúdo

POWERED BY:

Arquivado

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

Rafael Bazanella

Receber 'values' de elementos gerados dinamicamente.

Recommended Posts

Olá =)

 

Sou novato neste fórum, portanto, me perdoem caso já exista algum tópico do assunto. (procurei e não encontrei)

 

Enfim, vamos ao que interessa.

 

Estou desenvolvendo o módulo de buscas do meu sistema.

 

Funciona assim:

O usuário clica no botão 'pesquisar' e lhe é mostrado uma janela/div oculta (modal) com os possíveis campos da busca (filtros selecionáveis).

Estes campos eu determino através de um xml, ou seja, meu controlador gera as tags html dos campos por meio das infos que eu passei pelo xml. Até aqui, tudo bonitinho, perfeitinho...

Agora eu preciso 'pegar' os valores selecionados/escritos pelo usuário na hora do submit.

 

O que eu pensei:

Deve haver uma função jquery (precisa ser jquery) que me permita percorrer pelos elementos dentro do meu modal/div e receber esses valores.

 

Gostaria que me ajudassem com artigos, links ou qualquer outro material para que eu possa estudar a respeito.

Grato desde já.

[]'s

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, bem vindo.

 

Então cara, existe sim.

Mas qual é o html ? sempre será um formulário ? tags input, select .. ?

Caso sejam tags <select> (pelo o que entendi do texto), basta usar um:

$form.serialize();
que esse método já vai ler todas as informações dos campos de dado formulário.

 

 

Ou vc quer ler spans, divs ? como é o html exatamente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno

Obrigado pelas boas vindas =)

 

É bem isso mesmo. O html gerado será sempre tags do tipo input, select, as vezes radio ou checkbox...

Mas me interesso também no segundo tema que você propôs.

Aliás, vou testar sua dica e logo retorno com o resultado.

 

Grande abraço e obrigado mais uma vez.


Deu na trave!
como fiz o teste:
// assuma 'search_fields_form' como id do meu form.
var x = $('#search_fields_form').serialize();
console.log(x);

Aí tive o seguinte problema:

quando digitei em um 'input text' o texto "bláç", o retorno foi "bl%C3%A1%C3%A7" :upset:

 

Ainda utilizando o .serialize(), tentei no controlador um utf8_decode, sem sucesso. =(

 

Acredito que a melhor solução seja percorrer campo a campo através de um .each(), pelo menos foi o que imaginei de imediato.

Alguma outra sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, depois de vários minutos de pesquisa encontrei uma 'solução':

http://www.yourinspirationweb.com/en/how-and-when-to-use-jquerys-serialize-method/

 

Aspas em 'solução' porquê simplesmente usei urldecode(). Ainda vou fazer alguns testes e queria saber se fiz o correto, se foi 'gambiarra', possíveis falhas de segurança, etc...

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então cara, pode enviar com o "bl%C3%A1%C3%A7", pois isso impede por exemplo que a sua requisição quebre com caracteres especiais como aspas, & e coisas do tipo.

 

só o serialize em si resolve mesmo nesse seu caso.

 

lá no controlador, receba normalmente.

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.