Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal!
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 atualizar valor do id
function atualizaN() {
qtdeCampos = 0;
$('.rows').each(function() {
$(this).find('.nAtu').html(qtdeCampos);
qtdeCampos += 1;
});
}// função para adicionar campos ao formulário
function addCampos() {
//atualizaN();
if (qtdeCampos < 10 || qtdeCampos.value == "") {
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 class="rows" 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>';
// document.getElementById("filho"+qtdeCampos).innerHTML = '<table class="rows" width="535" align="center" border="0"><tr><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="tipo[]'+qtdeCampos+'" id="tipo'+qtdeCampos+'" class="nAtu" /></center></td><td width="90" bgcolor="#A9D9B1"><center><input type="text" size="5" name="comp[]'+qtdeCampos+'" id="comp'+qtdeCampos+'" onkeypress="return Numero(event);" class="nAtu" /></center></td><td width="90" bgcolor="#A9D9B1"><center><input type="text" size="5" name="larg[]'+qtdeCampos+'" id="larg'+qtdeCampos+'" onkeypress="return Numero(event);" class="nAtu" /></center></td><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="acab[]'+qtdeCampos+'" id="acab'+qtdeCampos+'" class="nAtu" /></center></td><td width="70" bgcolor="#A9D9B1"><center><input type="text" size="5" name="qtd[]'+qtdeCampos+'" id="qtd'+qtdeCampos+'" onkeypress="return Numero(event);" class="nAtu" /></center></td><td width="70" bgcolor="#A9D9B1"><center><select name="item[]'+qtdeCampos+'" id="item'+qtdeCampos+'" class="nAtu"><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) {
resposta = confirm("As informações serão excluidas permanentemente!\n\nDeseja prosseguir?")
if (resposta == true) {
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.value = conteudo.value.replace(id,);
//qtdeCampos -= qtdeCampos;
//atualizaN();
}
}
// função para apagar todos os campos adicionados ao formulário
function removeTodosCampos() {
resposta = confirm("As informações serão excluidas permanentemente!\n\nDeseja prosseguir?")
if (resposta == true) {
// procura a classe "rows" no código html da função addCampos() e remove
$(".rows").remove();
// retorna a quantidade de campos adicionados a 0
qtdeCampos = 0;
addCampos();
return false;
}
}
// função para verificar o navegador em utilização
/*
function verificaNav() {
var browserName = navigator.appName;
if ( browserName == "Netscape" ) {
addCampos();
} else if ( browserName == "Microsoft Internet Explorer" ) {
alert("Seu navegador não suporta essa ação./n/nPor favor preencha seu pedido no campo abaixo/n/nGrato pela compreenção!")
} else {
document.write("Coloque as funções de outros navegadores")
}
}Abaixo vou listar todas as dúvidas que possuo:
1 - O internet explorer não reconhece o código, (FireFox e Chrome funcionam normalmente), o que poderia ser feito;
2 - Gostaria de enviar dados para o email na sequencia [tipo comp larg acab qtd item], tenho que criar um array ordenado como demonstrado;
4 - Meu formmail pega todos os dados do formulário menos os campos criados por esse código;
5 - Quando removo um campo e tento adicionar outro no lugar, ora ele adiciona, ora tem que apertar várias vezes o botão para conseguir adicionar novamente os campos (tem alguma maneira de evitar que isso aconteça).
Tentei resolver o problema de número 1 com a função verificaNav(), mas não funcionou e todo o sistema parou de funcionar. Tentei solucionar o problema de número 5 com a função atualizaN(), mas também não funcionou e o campo "item" que está dentro de uma tag <select> parou de apresentar as opções. O que posso estar fazendo de errado.
Não sei se é possível, mas abaixo tem um modelo de como pretendo montar esse array do problema de número 2:
array(
tipo, comp, larg, acab, qtd, item
tipo, comp, larg, acab, qtd, item
tipo, comp, larg, acab, qtd, item
tipo, comp, larg, acab, qtd, item
tipo, comp, larg, acab, qtd, item
tipo, comp, larg, acab, qtd, item
.
.
.
)
Fico grato por qualquer ajuda nos problemas citados.
Carregando comentários...