Tengo este código para crear campos input de manera dinámica
Cita:
Y el HTML es el siguienteicremento =0;
function crear(obj)
{
icremento++;
field = document.getElementById('field');
contenedor = document.createElement('div');
contenedor.id = 'div'+icremento;
field.appendChild(contenedor);
var dHora=new Date()
var res = String(dHora.getHours()) + ":" + String(dHora.getMinutes()) + ":" + String(dHora.getSeconds());
boton = document.createElement('input');
boton.type = 'text';
boton.name = 'hora'+icremento;
boton.value = res;
boton.size = 10;
boton.style.border = "1px";
boton.style.background = "#4F6497";
boton.style.color = "white";
boton.style.font = "x-small Arial";
contenedor.appendChild(boton);
boton = document.createElement('input');
boton.type = 'text';
boton.name = 'text'+icremento;
boton.id = 'text'+icremento;
boton.size = 10;
boton.style.border = "1px solid white";
boton.style.background = "#4F6497";
boton.style.color = "white";
boton.style.font = "x-small Arial";
boton.onchange = function () {formato(this.value,'dec',this.id)}
boton.onkeypress = function () {return acceptNum2(event,this.id)}
contenedor.appendChild(boton);
boton = document.createElement('input');
boton.type = 'image';
boton.src = 'imagenes/png/eliminar_registro.png';
boton.width = "18";
boton.height = "18";
boton.name = 'div'+icremento;
boton.onclick = function () {borrar(this.name)}
contenedor.appendChild(boton);
}
function borrar(obj)
{
field = document.getElementById('field');
field.removeChild(document.getElementById(obj));
}
function crear(obj)
{
icremento++;
field = document.getElementById('field');
contenedor = document.createElement('div');
contenedor.id = 'div'+icremento;
field.appendChild(contenedor);
var dHora=new Date()
var res = String(dHora.getHours()) + ":" + String(dHora.getMinutes()) + ":" + String(dHora.getSeconds());
boton = document.createElement('input');
boton.type = 'text';
boton.name = 'hora'+icremento;
boton.value = res;
boton.size = 10;
boton.style.border = "1px";
boton.style.background = "#4F6497";
boton.style.color = "white";
boton.style.font = "x-small Arial";
contenedor.appendChild(boton);
boton = document.createElement('input');
boton.type = 'text';
boton.name = 'text'+icremento;
boton.id = 'text'+icremento;
boton.size = 10;
boton.style.border = "1px solid white";
boton.style.background = "#4F6497";
boton.style.color = "white";
boton.style.font = "x-small Arial";
boton.onchange = function () {formato(this.value,'dec',this.id)}
boton.onkeypress = function () {return acceptNum2(event,this.id)}
contenedor.appendChild(boton);
boton = document.createElement('input');
boton.type = 'image';
boton.src = 'imagenes/png/eliminar_registro.png';
boton.width = "18";
boton.height = "18";
boton.name = 'div'+icremento;
boton.onclick = function () {borrar(this.name)}
contenedor.appendChild(boton);
}
function borrar(obj)
{
field = document.getElementById('field');
field.removeChild(document.getElementById(obj));
}
Cita:
<form name="ingPesaje02" id="ingPesaje02">
<fieldset id="field" style="overflow: auto; width: 250px; height:115px; border:0px solid red;"></fieldset>
<input type="button" name="adicionar" id="adicionar" value="Adicionar Peso" class="botones" onClick="crear(this)">
</form>
<fieldset id="field" style="overflow: auto; width: 250px; height:115px; border:0px solid red;"></fieldset>
<input type="button" name="adicionar" id="adicionar" value="Adicionar Peso" class="botones" onClick="crear(this)">
</form>
Funciona bien, pero lo que necesito es que, luego de procesar la información necesito "resetear" el fieldset, es decir, eliminar todos los campos inputs que he creado.
He probado poner, al final de la función javascript que envía los datos a la página que los procesará, la siguiente instrucción (por si acaso primero se abre una ventana adicional para ingresar usuario y password, por eso el parent.opener)
parent.opener.document.getElementById("ingPesaje02 ").reset();
y lo único que logro es que los campos creados se pongan en blanco PERO siguen presentes. También probé algo más básico como
parent.opener.document.getElementById("field").val ue="";
pero no pasa nada.
También probé llamando a la función borrar pasandole el name del input de esta forma
parent.opener.borrar("texto1");
pero no pasa nada de nada.
Como el resultado de la operación de ingreso de datos se realiza en un iframe de la página principal, al terminar dicho proceso de ingreso agregué esta instrucción
parent.borrar("texto1");
pero tampoco funcionó ni siquiera copiando la función de borrar en la página principal.
¿Alguna sugerencia?
Un saludo desde Lima, Perú