Tenho um script que adiciona campos em um formulário.
Hoje esse script adiciona um input-text e um botão passando sempre os valores que foram digitados no último campo.
O problema é que agora preciso que esse script adicione DOIS input-text mais o botão passando os valores.
Alguem poderia me ajudar?
O script:
function addInput(divPai,nomeElemento,numeroDeFilhos,sizeInput) { var DivElementoPai = document.getElementById(divPai); // somo mais 1 para que o elemento comece com name=elemento[1] // pois por padrão já existe um elemento com name=elemento[0] var elementos = DivElementoPai.childNodes.length+1; var elementInput = document.getElementById(nomeElemento+'[0]') if(elementInput.value != ""){ if (DivElementoPai.childNodes.length < numeroDeFilhos){ var NovoDiv = document.createElement('div'); var valorElementoImput = elementInput.value; elementInput.value = ""; NovoDiv.setAttribute("id",nomeElemento+elementos); NovoDiv.setAttribute("valign","top"); NovoDiv.innerHTML = '<input type="text" name='+nomeElemento+'['+elementos+'] id='+nomeElemento+'['+elementos+'] value='+"\'"+valorElementoImput+"\'"+' size='+sizeInput+'> <input type="button" value="X" onClick="delElemento('+"\'"+divPai+"\',\'"+nomeElemento+elementos+'\')"\><br> '; DivElementoPai.appendChild(NovoDiv); } } } function delElemento(divPai,divNum){ var d = document.getElementById(divPai); var oldElem = document.getElementById(divNum); if (confirm('Tem certeza que quer apagar: \n'+"\""+oldElem.firstChild.value+"\" ?")) { //remove o elemento d.removeChild(oldElem); } }
O Formulário atual:
<form action="DocumentoManagerAction.insert.mtw" method="post" name="formInsertDocumento"> <table> <tr> <td ><label for="docTitulo">Titulo Documento</label></td> </tr> <tr> <td><input name="docTitulo" id="docTitulo" size="45" type="text"></td> </tr> <tr> <td><label for="autor">Autores: </label></td> </tr> <tr> <td valign="top"> <input name="autores[0]" id="autores[0]" size="45" type="text"> <input type="button" nme="add" value="+" onclick="addInput('divAutores','autores',4,45)" > <div id="divAutores"></div> </td> </tr> </table> <br/> <br/> <input type="submit" value="enviar"> </form>
O novo formulário:
<form action="DocumentoManagerAction.insert.mtw" method="post" name="formInsertDocumento"> <table> <tr> <td ><label for="docTitulo">Titulo Documento</label></td> </tr> <tr> <td><input name="docTitulo" id="docTitulo" size="45" type="text"></td> </tr> <tr> <td><label for="autor">Autores: </label></td> </tr> <tr> <td valign="top"> <input name="autores[0]" id="autores[0]" size="45" type="text"> <input name="numero[0]" id="numero[0]" size="10" type="text"> <input type="button" nme="add" value="+" onclick="addInput('divAutores','autores',4,45)" > <div id="divAutores"></div> </td> </tr> </table> <br/> <br/> <input type="submit" value="enviar"> </form>
Obrigado!
Olá a todos.
Consegui resolver esse.
function addInput(divPai,nomeElemento,nomeElemento1,sizeInput,sizeInput1) { var DivElementoPai = document.getElementById(divPai); //Pega e define um ID para o div(NODE) passado a função // somo mais 1 para que o elemento comece com name=elemento[1] // pois por padrão já existe um elemento com name=elemento[0] var elementos = DivElementoPai.childNodes.length+1; // var elementInput = document.getElementById(nomeElemento+'[0]') var elementInput1 = document.getElementById(nomeElemento1+'[0]') if(elementInput.value != ""){ //if (DivElementoPai.childNodes.length < numeroDeFilhos){ var NovoDiv = document.createElement('div'); var valorElementoImput = elementInput.value; var valorElementoImput1 = elementInput1.value; elementInput.value = ""; elementInput1.value = ""; NovoDiv.setAttribute("id",nomeElemento+elementos); NovoDiv.setAttribute("id",nomeElemento1+elementos); NovoDiv.setAttribute("valign","top"); NovoDiv.innerHTML = '<input type="text" name='+nomeElemento+'['+elementos+'] id='+nomeElemento+'['+elementos+'] value='+"\'"+valorElementoImput+"\'"+' size='+sizeInput+'><input type="text" name='+nomeElemento1+'['+elementos+'] id='+nomeElemento1+'['+elementos+'] value='+"\'"+valorElementoImput1+"\'"+' size='+sizeInput1+'> <input type="button" value="X" onClick="delElemento('+"\'"+divPai+"\',\'"+nomeElemento+elementos+'\')"\><br> '; DivElementoPai.appendChild(NovoDiv); // } } } function delElemento(divPai,divNum){ var d = document.getElementById(divPai); var oldElem = document.getElementById(divNum); if (confirm('Tem certeza que quer apagar: \n'+"\""+oldElem.firstChild.value+"\" ?")) { //remove o elemento d.removeChild(oldElem); } }
Obrigado