Ir para conteúdo

POWERED BY:

Arquivado

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

feasso

Acrescentar outro campo ao clicar no mais.

Recommended Posts

No código abaixo a intenção é a seguinte:

 

Na pagina tem um botão "MAIS" que serve para inserir mais telefones no cadastro. Quando o usuário clica no botão "MAIS", a função abaixo é chamada.

 

Ela deverá criar outro campo e acrescentar no seu name um "_2" e deixar o VALUE vazio.

 

Problema

O campo está sendo criado, mas o name está igual ao campo anterior, ou seja, não está sendo somado mais um no name e o value vem com o valor preenchido no campo acima.

 

$(".maisRegistros").expire().livequery('click',function(){
		var html = $(this).parent().prev().clone();
		var er	 = /_[0-9]+$/;
		var id, name, cont, cont2, validacao;
		var tipo = $(this).attr('rel')
		$(":input",html).each(function(){
			id		  = $(this).attr("id");
			name	  = $(this).attr("name");
			cont	  = er.exec(id);
			cont2 	  = cont == null ? 1 : parseInt(cont[0].replace("_","")) + 1;
			validacao = $(this).attr("validacao");
			validacao = typeof(validacao) == "undefined" ? "" : validacao;
			id		  = cont == null ? id + "_1" : id.replace(er,"_" + cont2);
			name	  = cont == null ? name + "_1" : name.replace(er,"_" + cont2);
			
			if (tipo == 'cursos') $(this).attr({id:id, name:name}).val("").siblings("label").text("Aula "+(cont2+1)+":").attr("for",id);
			if(validacao == ""){
				$(this).removeClass("validar form_erro form_ok");
			}else{
				$(this).removeClass("form_erro form_ok").attr("title",validacao);
			}
		});
		$(html).attr("posicao",cont2)
		$(this).parent().before(html);
		validar.init();
		if(!$(this).siblings(".menosRegistros").is("a")){
			$(this).after('<a href="java script:void(0);" title="Menos" class="menosRegistros">Menos</a>');
		}
	});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada no exemplo abaixo, por ele voce tira a logia, qualquer coisa posta ai

 

numero=0;
//funçao qualquer -> só msm pra voce ter um exemplo
function tal(){
	var input=document.createElement('input');
//aqui somamos 1 ao valor de numeros, definindo assim o numero do campo
	numero+=1;
	input.name='_'+numero;
	document.getElementById('oi').appendChild(input);
}

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.