Foros del Web » Programando para Internet » ASP Clásico »

Llamadas a funciones

Estas en el tema de Llamadas a funciones en el foro de ASP Clásico en Foros del Web. Mi problema es que tengo una funcion en JScript que oculta una capa, pero no se como llamarla desde ASP. tengo que pasarle el nombre ...
  #1 (permalink)  
Antiguo 11/07/2002, 04:41
 
Fecha de Ingreso: mayo-2002
Mensajes: 51
Antigüedad: 22 años, 1 mes
Puntos: 0
Llamadas a funciones

Mi problema es que tengo una funcion en JScript que oculta una capa, pero no se como llamarla desde ASP. tengo que pasarle el nombre del objeto que es la capa.

Esta es la funcion:

function Ocultacapa(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"
}

Como la llamo desde ASP??

Si alguien sabe como manejar capas desde JS que me conteste por favor!!

Un saludo y gracias:
-Santi-
  #2 (permalink)  
Antiguo 11/07/2002, 04:57
 
Fecha de Ingreso: abril-2002
Mensajes: 161
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Llamadas a funciones

Hola Santi, ¿qué tal? te paso un par de funciones, su finalidad la indica su propio nombre:
Código:
 <script language="JavaScript">
<!--
function mostrar(op)
	{
	menu.style.display = '' 
	}
function ocultar(op)
	{
	var sw
	if (event.srcElement.id=="sm")
		{
		if(op.style.display == "")
			sw = 0 
		else if(op.style.display == "none")
			sw = 1
		document.all.c.style.display = "none"
		document.all.c1.style.display = "none"
		document.all.c2.style.display = "none"
		document.all.c3.style.display = "none"
		document.all.c4.style.display = "none"
		document.all.c5.style.display = "none"
		if (sw == 0)
			op.style.display = "none"
		else
			op.style.display = ""
		}		
	}
//-->
</script>
Por otra parte están los elementos a mostrar o eliminar:
Código:
 <ul id="menu" class=foldinglist style="DISPLAY: none">
	<li id="sm" class=foldheader onclick=ocultar(c)>
	Opcion 1 
	<ul id="c" class=foldinglist style="DISPLAY: none">
	<li>
        </li>
</ul>
</li>
</ul>
[Esto por cada elemento, ok??]
Y es ahí mismo donde yo llamo a la función.

Bien, y ahora dirás, todo este rollo y no me soluciona mi duda, pues verás para llamar a una función JVScript en ASP [vaya, se me acabó el espacio... ]
  #3 (permalink)  
Antiguo 11/07/2002, 05:22
 
Fecha de Ingreso: mayo-2002
Mensajes: 51
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Llamadas a funciones

que me has dejao con la duda!!!!!!!!!


espero que me contestes pronto...
  #4 (permalink)  
Antiguo 11/07/2002, 05:26
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 22 años
Puntos: 0
Re: Llamadas a funciones

Si hay varias funciones que las vas a utilizar en muchas páginas, las puedes guardar en una página aparte y luego usar "include" en las páginas que las vayas a usar.

;)
  #5 (permalink)  
Antiguo 11/07/2002, 05:36
 
Fecha de Ingreso: mayo-2002
Mensajes: 51
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Llamadas a funciones

Este es el codigo de mi pagina:

<html>
<head>
<title>Cambio de capas</title>
<script language="JavaScript">
var ns4,ie4

//inicializa el valor de las variables
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

var capa1,capa2

function init(nom_capa,nom_capa2) {

if (ns4) {
capa1 = eval("document." + nom_capa)
capa2 = eval("document." + nom_capa2)
}
if (ie4) {
capa1 = eval(nom_capa + ".style")
capa2 = eval(nom_capa2 + ".style")
}
}

function Muestracapa(obj) {
if (ns4) obj.visibility = "show"
else if (ie4) obj.visibility = "visible"
}

function Ocultacapa(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"
}

</script>
</head>

<body Onload="init('CAPA1','CAPA2')">
<div id="CAPA1" style="position:absolute; visibility: visible;>
</div>
<div id="CAPA2" style="position:absolute; visibility: hidden;>
<div align="center"><font size="5"><b>PAGINA WEB CARGADA.</b></font>...</div>
</div>
<%
'Aqui va un temporizador
Ocultacapa("capa1") <------LINEA 59
Muestracapa(capa2)

</body>
</html>

Y este es el error que sale:

Error de Microsoft VBScript en tiempo de ejecución error '800a000d'

No coinciden los tipos: 'Ocultacapa'

/capas/principal.asp, line 59

Por que no esta bien esto?, como debo llamar a la funcion desde ASP??

Esto era por aclarar la pregunta...

GRACIAS!!
-Santi-
  #6 (permalink)  
Antiguo 11/07/2002, 05:48
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 22 años
Puntos: 0
Re: Llamadas a funciones

Igual es porque le pasas la variable entre comillas, como si fuera un string.
;)
  #7 (permalink)  
Antiguo 11/07/2002, 05:54
 
Fecha de Ingreso: mayo-2002
Mensajes: 51
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Llamadas a funciones

ya probe de todas formas y nada...


Que alguien me ayude!!!!!!
  #8 (permalink)  
Antiguo 11/07/2002, 05:59
Avatar de Mosiah  
Fecha de Ingreso: mayo-2002
Ubicación: Vitoria - Madrid
Mensajes: 229
Antigüedad: 22 años
Puntos: 0
Re: Llamadas a funciones

Has quitado las comillas y te sigue dando el mismo error?
:)
  #9 (permalink)  
Antiguo 11/07/2002, 11:31
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Re: Llamadas a funciones

No se puede llamar a una función javascript o vbscript (ambos client-side) desde código ASP!

Son dos ámbitos distintos.. aunque viendo un poco tu código...

Cita:
<%
'Aqui va un temporizador
Ocultacapa("capa1") <------LINEA 59
Muestracapa(capa2)
..podrías intentar algo así:

Código:
<%
'Aqui va un temporizador
Response.Write "Ocultacapa(''capa1'')"
Response.Write "Muestracapa(''capa2'')"
bueh.. no se si sirva pero no le veo mucho sentido a lo que pretendés hacer.

saludos
  #10 (permalink)  
Antiguo 22/07/2002, 06:22
 
Fecha de Ingreso: abril-2002
Mensajes: 161
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Llamadas a funciones

He vuelto! Siento haber tardado tanto...
Oye, si la función es JavaScript, ¿por qué la llamas desde ASP?, corta el ASP y llama a la función, ¿no?

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 21:58.