Foros del Web » Programando para Internet » Javascript »

for

Estas en el tema de for en el foro de Javascript en Foros del Web. Hola a todos!!!! alguien me puede ayudar a hacer un for para que se me creen varios input este es mi codigo pero no me ...
  #1 (permalink)  
Antiguo 14/10/2009, 10:44
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 5 meses
Puntos: 20
for

Hola a todos!!!!

alguien me puede ayudar a hacer un for para que se me creen varios input

este es mi codigo pero no me los crea que hago mal??

function fEscribeDir()
{
addFormField(document.formu1,'text',+i);
//document.formu1.numficheros.value=i;
i=i+1;
}

function addFormField (form, fieldType, fieldName, fieldValue)
{
if (document.getElementById)
{

fila = document.createElement("tr");
columnas = document.createElement("td");
columnas.setAttribute("width", "144px");
var input = document.createElement('INPUT');
var div = document.createElement('DIV');
var cant = document.all.cantidad.value;

input.type = fieldType;
input.name = fieldName;
input.value = document.all.txtfec.value;



for (m=0; m <cant ;++m)
{
alert (m);
input.style.width="50px";
columnas.appendChild(input)
fila.appendChild(columnas)
div.appendChild(input);
document.getElementById('ficheros').appendChild(di v);
}
}
}
el alert me lo muestra bien, pero no me los crea
  #2 (permalink)  
Antiguo 14/10/2009, 12:23
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: for

el for parece estar bien estructurado, solo que estas agregando el mismo elemento multiples veces al documento. o sea, un mismo elemento no se duplica cada vez que lo agregas al documento. si el elemento ya existe en el documento, appendChild e insertBefore mueven el elemento de posicion. en tu caso, por lo visto todos van a tener el mismo valor y formato por lo que quizas te funcione cloneNode. si no te funciona, entonces la mayoria del codigo tienes que moverlo dentro del bloque de for, el punto es que tienes que crear multiples veces el elemento y a la vez agregarlo al documento.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 15/10/2009, 03:10
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: for

simplemente mueve la creación de los elementos dentro del for:

Código javascript:
Ver original
  1. function addFormField (form, fieldType, fieldName, fieldValue){
  2.    if (document.getElementById){
  3.       for (m=0; m <cant ;++m){
  4.          fila = document.createElement("tr");
  5.          columnas = document.createElement("td");
  6.          columnas.setAttribute("width", "144px");
  7.          var input = document.createElement('INPUT');
  8.          var div = document.createElement('DIV');
  9.          var cant = document.all.cantidad.value;
  10.  
  11.          input.type = fieldType;
  12.          input.name = fieldName;
  13.          input.value = document.all.txtfec.value;
  14.  
  15.  
  16.          alert (m);
  17.          input.style.width="50px";
  18.          columnas.appendChild(input)
  19.          fila.appendChild(columnas)
  20.         div.appendChild(input);
  21.         document.getElementById('ficheros').appendChild(di v);
  22.       }
  23.    }
  24. }

Procura usar las etiquetas para código en el foro e tabular tu código, así es mucho más fácil para quien quiere ayudarte.
__________________
twitter: @imbuzu
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 18:09.