Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Manipular contenido dinámico del tag fieldset

Estas en el tema de Manipular contenido dinámico del tag fieldset en el foro de Javascript en Foros del Web. Buenas tardes: Tengo este código para crear campos input de manera dinámica Cita: icremento =0; function crear(obj) { icremento++; field = document.getElementById('field'); contenedor = document.createElement('div'); ...
  #1 (permalink)  
Antiguo 10/02/2013, 12:51
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 8 meses
Puntos: 10
Manipular contenido dinámico del tag fieldset

Buenas tardes:
Tengo este código para crear campos input de manera dinámica

Cita:
icremento =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));
}
Y el HTML es el siguiente

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>


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ú
  #2 (permalink)  
Antiguo 10/02/2013, 12:58
Avatar de freesoftwarrior  
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 8 meses
Puntos: 10
Respuesta: Manipular contenido dinámico del tag fieldset

SOLUCIONADO

Había cometido un error. El name era el del div no el del input. Con invocar la función así funciona:

parent.borrar("div1");

Etiquetas: campos, contenido, fieldset, funcion, html, input, manipular, tag
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:40.