Foros del Web » Programando para Internet » Javascript »

concatenacion

Estas en el tema de concatenacion en el foro de Javascript en Foros del Web. hola a todos, tengo el sgte script Código HTML: function bandera(cont){ alert(cont); for(i=1; i <= cont; i++){ var input = new Array (" <input type='text' ...
  #1 (permalink)  
Antiguo 08/05/2006, 14:00
Avatar de maralbust  
Fecha de Ingreso: febrero-2004
Ubicación: Santiago
Mensajes: 578
Antigüedad: 20 años, 2 meses
Puntos: 0
concatenacion

hola a todos, tengo el sgte script

Código HTML:
function bandera(cont){
	alert(cont);
	for(i=1; i <= cont; i++){
		var input = new Array ("<input type='text' name='porcentaje"+i+"' id='porcentaje"+i+"'>");
	}
	var input=input.concat(new Array("<input type='text' name='porcentaje"+i+"' id='porcentaje"+i+"'>"));
	alert(input);
}
la cosa es qeu no hace lo que yo quiero, necesito concatenar el ciclo dentro de input, pero en lugar de genrar 1, 2, 3, genera 2,3,4 y obviamente cuando cont = 1 me da un error de input has no porperties.

ayuda plis
__________________
..:: NADA SE PIERDE SOLO SE TRANSFORMA ::..
  #2 (permalink)  
Antiguo 08/05/2006, 15:08
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Hola maralbust!

Viendo tu código no genera lo que dices, mas bien genera un array de 2 espacios.

Si te fijas en tu bucle for, estas sobreescribiendo la variable local del bloque en cada iteración, sale del bucle y el array input solo contiene una cadena "input type='text' name='porcentaje3' id='porcentaje3'>" y añades otro array al final que contiene la cadena "input type='text' name='porcentaje4' id='porcentaje4'>", que fué lo último en lo que evaluó la variable i para romper la condición.

Tu problema lo podrías solucionar de una manera más fácil así:

Código:
function bandera(cont){
 //El parametro cont vale 4 
 alert(cont);
  var $arreglo = new Array();
  for(var i=1; i <= cont; i++) $arreglo.push("<input type='text' name='porcentaje"+i+"' id='porcentaje"+i+"'>");
	
  alert($arreglo);
}
Un saludo!
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 08:57.