Tenho uma função addCampos(), que cria campos novos em um formulário após seu carregamento.
Na verdade, fiz uma adaptação(copiada) em .innerHtml para criar vários campos de uma vez:
function addCampos(campoPai,servico)
{
var objPai = document.getElementById(campoPai);
//Criando o elemento DIV;
var objFilho = document.createElement("div");
//Definindo atributos ao objFilho:
objFilho.setAttribute("id","filho"+qtdeCampos);
//Inserindo o elemento no pai:
objPai.appendChild(objFilho);
//Escrevendo algo no filho recém-criado:
document.getElementById("filho"+qtdeCampos).innerHTML = "<fieldset><legend>Tipo</legend><label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo["+servico+"]["+qtdeCampos+"]' name='nomeTipo["+servico+"]["+qtdeCampos+"]'><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress='BloqueiaLetras();' id='qtdePessoas["+servico+"]["+qtdeCampos+"]' name='qtdePessoas["+servico+"]["+qtdeCampos+"]'><br /><label class='passo2'>Preço</label> : <input type='text' class='real' id='preco["+servico+"]["+qtdeCampos+"]' name='preco["+servico+"]["+qtdeCampos+"]'><label style='color:red'>formato: 100,00 (por favor! centavos com virgula)</label><br /><label class='passo2'>Descrição</label> : <textarea cols='40' rows='5' id='descricao["+servico+"]["+qtdeCampos+"]' name='descricao["+servico+"]["+qtdeCampos+"]'></textarea><br /></fieldset><input type='button' onclick='removerCampo(this.parentNode.parentNode.id,"+qtdeCampos+")' value='Apagar campo'>";
qtdeCampos++;
}
Essa função esta funcionando corretamente.
O problema é que um dos campos criados, recebe uma função JQuery que formata campos tipo moeda.
Bom, o formulário, conforme imagem abaixo, possui um bloco de campos inicial (que carrega junto com o forme). E, a partir dele, pode se chamar a função addCampos() para gerar mais um bloco de campos.
Esse bloco que carrega inicialmente, é exatamente igual ao que será criado.
Isto é: possui um campo
Nome Tipo : texto livre
Qtde Pessoas : apenas números
Preço : função JQuery
Descrição texto livre,
Para o bloco que carrega junto com o formulário, tudo funciona bem. Mas com o bloco criado pela função addCampos(), apenas o campo Preço não recebe a função JQuery.
Veja abaixo:
As chamadas aos arquivos JS esta sendo feito assim:
Pergunta
Carlos Rocha
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.