Ir para conteúdo

POWERED BY:

Arquivado

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

sNniffer

Input dinâmico e função salvar

Recommended Posts

Pessoal,

 

Atualmente salvo os dados sem refresh desta forma:

<input type="text" name="nome" value="chaves" />
<input type="button" onclick="add_nome()" value="Salvar"></button>
		                        

e função:

function add_nome() {
	var url = 'lib/evento/evento_action.php';
	var method = 'POST';
	var params = 'nome='+document.getElementById('nome').value];
	params += '&nome='+document.getElementById('descricao_entrada').value];
	var container_id = 'evento_entradas' ; 
	var loading_text = '<img src="images/ajax_loader.gif">' ;
	
	ajax (url, method, params, container_id, loading_text) ;
}

Daí recupero via POST, e funciona beleza.

 

O que tenho que fazer é:

Num while de uma consulta php, é criado dinamicamente um form e seus inputs, e é utilizado em cada form a função add_nome() no button.

O problema é que, como são criados vários inputs com o mesmo nome, o javascript recupera o valor do primeiro input em todos os insert.

 

O que posso fazer para sanar este problema?

 

Criar o form dinamico com um id único e recuperar no javascript?

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não da pra usar jQuery?

 

Você poderia serializar o form, pegando dessa forma o formulário inteiro, inclusive os campos adicionados dinamicamente.

 

http://api.jquery.com/serializearray/

 

Ou você usa a mesma ideia só que em javascript puro, pega todos os campos com um getElementsByTag ou ByTagName, enfim, só é mais trabalhoso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As coisas ficarão bem mais fáceis se, ao invés de você utilizar o evento "onclick" do botão, você utiliza o "onsubmit" do formulário. Como cada grupo de input tem seu próprio formulário, você pode fazer:

$('.formulario').submit(function(e){
    e.preventDefault(); // para o formulario
    var params = $(this).serialize(); // isso ja vai te retornar a string nome=valor&descricacao_entrada=valor

    ajax(...)
});

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.