Foros del Web » Programando para Internet » Javascript »

Quiero hacer un bucle for que me muestre capas.

Estas en el tema de Quiero hacer un bucle for que me muestre capas. en el foro de Javascript en Foros del Web. Hola a todos. He seguido este artículo ( http://www.desarrolloweb.com/articulos/2149.php ), para poder mostrar campos ocultos. Como se puede apreciar el el código del artículo, se ...
  #1 (permalink)  
Antiguo 06/07/2006, 03:12
Avatar de bruli  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia, Spain, Spain
Mensajes: 77
Antigüedad: 18 años
Puntos: 2
Quiero hacer un bucle for que me muestre capas.

Hola a todos.

He seguido este artículo ( http://www.desarrolloweb.com/articulos/2149.php ), para poder mostrar campos ocultos.

Como se puede apreciar el el código del artículo, se limita el número de campos mostrados al valor de un select. Esto tiene el inconveniente de que limita ese número de campos. Es decir, si lo que quieres es mostrar 7 campos y sólo has puesto en el select un máximo de 6 ya no puedes hacerlo, a no ser que vuelvas a tocar el código.

Había pensado en hacer un bucle for para que me muestre tantas capas como valor se le pasa.

Este es el código que he puesto.

<HTML lang="es">
<HEAD>
<TITLE></TITLE>
<SCRIPT src="js/x_core.js" type="text/javascript"></SCRIPT>
<SCRIPT language="JavaScript">
function ley(valor)
{
// if (document.f1.dist_ubic.value == 't'){
if(valor){
for(i=1;i<=valor;i++){
xDisplay('capaley', 'block') }
}
}
</SCRIPT>
<STYLE type="text/css">
#capaley{ display:none;}
#inicio{ position:relative;}
</STYLE>
</HEAD>
<BODY>
<FORM method="POST" name="f1">
<DIV id="inicio">
<TABLE border="1">
<TR>
<TD>
<INPUT type="text" name="dist_ubic" onkeyup="ley(this.value);">
</TD>
</TR>
</TABLE>
</DIV>
<DIV id="capaley">
<TABLE align="left" width="500px" cellpadding="2" border="1" id="tabla">
<TR>
<TD>prueba de capa expandida. Si se ve es que esto funciona.</TD>
</TR>
</TABLE>
</DIV>
</FORM>
</BODY>
</HTML>

Pero esto sólo muestra una capa.

¿Alguien sabría decirme como se puede hacer esto?.

Gracias.
__________________
------
Saludos.
  #2 (permalink)  
Antiguo 06/07/2006, 05:23
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Empecé a mirar el artículo y creo que xomplican bastante un tema sencillo...

Una idea es tener una relación de capas con los estados que se quiera:

Código:
<html>
<head>
<title>1, 2, 3, ¡probando!...</title>
<script>
var capas = new Array();
capas["ops1"] = "capa1:block,capa2:none,capa3:block,capa4:none,capa5:block";
capas["ops2"] = "capa1:block,capa2:block,capa3:block,capa4:block,capa5:block";
capas["ops3"] = "capa1:block,capa2:none,capa3:none,capa4:none,capa5:none";
function muestra(ops) {
 caps = capas[ops].split(",");
 for (var i = 0, total = caps.length; i < total; i++) {
  pareja = caps[i].split(":");
  document.getElementById(pareja[0]).style.display = pareja[1];
 }
}
</script>
</head>
<body>
<div id="capa1" > capa 1 </div>
<div id="capa2" > capa 2 </div>
<div id="capa3" > capa 3 </div>
<div id="capa4" > capa 4 </div>
<div id="capa5" > capa 5 </div>
<form>
<select onchange="muestra(this.value)">
<option value="ops1" > Opciones 1 </option>
<option value="ops2" > Opciones 2 </option>
<option value="ops3" > Opciones 3 </option>
</select>
</form>
</body>
</html>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 10/07/2006, 03:15
Avatar de bruli  
Fecha de Ingreso: mayo-2006
Ubicación: Valencia, Spain, Spain
Mensajes: 77
Antigüedad: 18 años
Puntos: 2
Cita:
Iniciado por caricatos
Hola:

Empecé a mirar el artículo y creo que xomplican bastante un tema sencillo...

Una idea es tener una relación de capas con los estados que se quiera:

Código:
<html>
<head>
<title>1, 2, 3, ¡probando!...</title>
<script>
var capas = new Array();
capas["ops1"] = "capa1:block,capa2:none,capa3:block,capa4:none,capa5:block";
capas["ops2"] = "capa1:block,capa2:block,capa3:block,capa4:block,capa5:block";
capas["ops3"] = "capa1:block,capa2:none,capa3:none,capa4:none,capa5:none";
function muestra(ops) {
 caps = capas[ops].split(",");
 for (var i = 0, total = caps.length; i < total; i++) {
  pareja = caps[i].split(":");
  document.getElementById(pareja[0]).style.display = pareja[1];
 }
}
</script>
</head>
<body>
<div id="capa1" > capa 1 </div>
<div id="capa2" > capa 2 </div>
<div id="capa3" > capa 3 </div>
<div id="capa4" > capa 4 </div>
<div id="capa5" > capa 5 </div>
<form>
<select onchange="muestra(this.value)">
<option value="ops1" > Opciones 1 </option>
<option value="ops2" > Opciones 2 </option>
<option value="ops3" > Opciones 3 </option>
</select>
</form>
</body>
</html>
Saludos

Gracias por el comentario. Veo que lo tu propones es hacer lo mismo que en el artículo que yo he consultado, evitando tener que usar una librería externa.

Pero realmente me encuentro con lo mismo, pues en tu caso usas un SELECT que muestra un número determinado (opción 1, opción 2, opción 3).

Yo lo que pretendo hacer es que puedas poner dentro de un INPUT el nº y que te muestre el número de capas indicado. Por eso estaba usando un for.

Trato de evitar que esto se quede limitado a un determinado nº y luego recoger los datos para hacer un INSERT con php.

Espero haberme explicado con claridad.
__________________
------
Saludos.
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:40.