Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal,
Eu preciso duplicar um formulário inteiro dinamicamente...
Por exemplo:
Apartir de um "Button", ele duplica todos os campos de um formulário e depois da duplicação ele faz uma consulta no banco, e exibe o resultado nos novos campos...
Só que não sei como começar e não sei se tem alguma maneira mais facil de fazer está função...
Espero que possam me ajudar...
Desde já agradeço...
Só que eu preciso adicionar quantas vezes o usuário quiser, no caso do usuário clicar 10 vezes no botão, irá adicionar dez formulários...São N formulários que o usuário pode adicionar...
Entende?
Eu estava pesquisando e vi que pode ser feito com inner.HTML
Teriam como me passar pelo menos alguma maneira para eu começar?
Grato pela atenção.
Veja um exemplo de como utilizar o appendChild
var objBody = document.getElementsByTagName("body").item(0);
var objOverlay = document.createElement("div");
objOverlay.setAttribute('id','overlay');
objOverlay.onclick = function() { document.getElementById("overlay").style.display = "none"; window.location.href = "home.asp" }
objBody.appendChild(objOverlay);
var divImg = document.createElement("div");
divImg.setAttribute('id','loading');
objOverlay.appendChild(divImg);
Neste exemplo eu crio duas novas divs e as adiciono dentro do Body da página...
Basta você adaptá-lo para adicionar o seu form..
Abraços...
No caso está linha a seguir:
var objOverlay = document.createElement("div");
O valor div seria o que?nome da tag?...
Grato desde já...
Sim....
No CreateElement você define qual a TAG ( elemento ) irá criar...
Nesta linha:
var objBody = document.getElementsByTagName("body").item(0);
O que faz o item(0)???
Significa que é o primeiro item... se existir mais de uma tag body, ele irá pegar a primeira.
PS: Assim, na boa, sem querer ofender, uma pesquisadinha no Google, ou até aki no fórum mesmo te ajudaria MUITO a sanar essas dúvidas e o seu estudo seria mais fácil...
Abraços...
Bom dia,
até consegui criar alguns inputs com o createElement, s´que eu preciso cirar uns 5 campos e 1 tabela meia extensa, estou achando que será muito complicado e demorado, e eu estou sem muito tempo...
Estava pesquisando e com innerHTML parece que pode ser feito...
function duplica_campos(duplica) {
if (duplica == 'sim') {
var ObjCampos = document.getElementsByTagName('form');
var ObjNovo = document.getElementsByTagName('form2');
ObjCampos.innerHTML;
ObjNovo.innerHTML = ObjCampos;
}
}
Testei pelo getElementByTagName e pelo getElementById e não tive sucesso em nenhum, mas no get...Id, pelo apareceu algo novo na tela...Apareceu ---->> [object]
Fiz este script, mas não sei se está certo...
A documentação que eu achei de inner está em ingles e meio complicado de entender se puderem me ajudar nesta dúvida agradeço...
Oq você pode fazer é deixar o "novo form" criado, porém oculto.... e quando o botao for clicado, você mostra ele e faz o resto das operações...
Abraços...