var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
qtdeCampos -= qtdeCampos;
}
// função para apagar todos os campos adicionados ao formulário
function removeTodosCampos(id) {
var i = 1;
do {
var objPai = document.getElementById("campoPai");
var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
i++
} while (i > id)
alert("Valor da variável id: "+id+". Valor da variável i: "+i+". Quantidade de campos do formulário: "+qtdeCampos+".");
}
-->
Listarei aqui os problemas que tenho referentes a esse código.
1 - O internet explorer não reconhece o código (FireFox e Chrome funcionam normalmente);
2 - Não consigo remover todos os campos de uma vez (removeTodosCampos(id));
3 - Gostaria de enviar dados para o email na sequencia [tipo comp larg acab qtd item];
4 - Tenho que criar um array ordenado na ordem acima para envio dos dados para o email;
5 - Meu formmail pega todos os dados do form menos os campos criados por esse código;
6 - Quando removo um campo e tento colocar outro no lugar, ora ele adiciona, ora tem que apertar várias vezes para conseguir adicionar novamente os campos (tem alguma maneira de evitar que isso aconteça).
Pergunta
dinhotaswolf
Olá pessoal!
Sou novo no fórum e estou com alguns problemas no código abaixo
<!--
// declaração de variáveis
var qtdeCampos = 0;
// função para o campo aceitar somente números
function Numero(e) {
navegador = /msie/i.test(navigator.userAgent);
if (navegador) {
var tecla = event.keyCode;
} else {
var tecla = e.which;
if (tecla > 47 && tecla < 58) { // numeros de 0 a 9
return true;
} else {
if (tecla != 2 || tecla != 3 || tecla != 8 || tecla != 127) { // teclas home, end, backspace e delete
return false;
} else {
return true;
}
}
}
}
// função para adicionar campos ao formulário
function addCampos() {
if (qtdeCampos < 10) {
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 = '<table width="535" align="center" border="0"><tr><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="tipo[]'+qtdeCampos+'" id="tipo'+qtdeCampos+'" /></center></td><td width="90" bgcolor="#A9D9B1"><center><input type="text" size="5" name="comp[]'+qtdeCampos+'" id="comp'+qtdeCampos+'" onkeypress="return Numero(event);" /></center></td><td width="90" bgcolor="#A9D9B1"><center><input type="text" size="5" name="larg[]'+qtdeCampos+'" id="larg'+qtdeCampos+'" onkeypress="return Numero(event);" /></center></td><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="acab[]'+qtdeCampos+'" id="acab'+qtdeCampos+'" /></center></td><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="qtd[]'+qtdeCampos+'" id="qtd'+qtdeCampos+'" onkeypress="return Numero(event);" /></center></td><td width="70" bgcolor="#A9D9B1"><center><select name="item[]'+qtdeCampos+'" id="item'+qtdeCampos+'"><option value="" selected>--------</option><option value="Peça">Peça</option><option value="Metro">Metro</option></select></center></td><td width="15" bgcolor="#A9D9B1"><center><input type="image" src="ico/x.gif" onclick="removerCampo('+qtdeCampos+')" title="Apagar produto"></center></td></tr></table>';
qtdeCampos++;
}
}
// função para remover um campos do formulário
function removerCampo(id) {
var objPai = document.getElementById("campoPai");
var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
qtdeCampos -= qtdeCampos;
}
// função para apagar todos os campos adicionados ao formulário
function removeTodosCampos(id) {
var i = 1;
do {
var objPai = document.getElementById("campoPai");
var objFilho = document.getElementById("filho"+id);
//Removendo o DIV com id específico do nó-pai:
var removido = objPai.removeChild(objFilho);
i++
} while (i > id)
alert("Valor da variável id: "+id+". Valor da variável i: "+i+". Quantidade de campos do formulário: "+qtdeCampos+".");
}
-->
Listarei aqui os problemas que tenho referentes a esse código.
1 - O internet explorer não reconhece o código (FireFox e Chrome funcionam normalmente);
2 - Não consigo remover todos os campos de uma vez (removeTodosCampos(id));
3 - Gostaria de enviar dados para o email na sequencia [tipo comp larg acab qtd item];
4 - Tenho que criar um array ordenado na ordem acima para envio dos dados para o email;
5 - Meu formmail pega todos os dados do form menos os campos criados por esse código;
6 - Quando removo um campo e tento colocar outro no lugar, ora ele adiciona, ora tem que apertar várias vezes para conseguir adicionar novamente os campos (tem alguma maneira de evitar que isso aconteça).
Fico grato por qualquer tipo de ajuda.
Link para o comentário
Compartilhar em outros sites
1 resposta 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.