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










