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

Problema con menu dinamico

Estas en el tema de Problema con menu dinamico en el foro de ASP Clásico en Foros del Web. He tenido algunos problema con un menu que estoy editando, lleva javascrip y asp mi problema es que no puedo distigir bien las variables para ...
  #1 (permalink)  
Antiguo 20/09/2007, 07:58
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Problema con menu dinamico

He tenido algunos problema con un menu que estoy editando, lleva javascrip y asp mi problema es que no puedo distigir bien las variables para asignarle una flag o swich ; y asi ponerle una accion determinada...

El desarrollo esta en www.demco.cl/default.asp

El menu al hacer click en el, quedara en verde como activo (segun la seccion en la cual se hace click) ademas mi otro problema es que la pagina se refresca y vuelve a la normalidad.

Por que no puedo hacerlo? por que tengo un codigo el cual cada vez que el mouse esta en over se pone gris claro y cuando esta out se pone al gris normal.

el codigo es el siguente:

Código:
function clearfield(){
if (document.form3.keyword.value == "search this site")
	document.form3.keyword.value = "";
}
//  End -->
function submenu(cual){
if (document.getElementById(cual).style.display=='none'){
document.getElementById(cual).style.display="";}

else{
document.getElementById(cual).style.display='none';
}
}
En esta rutina de codigo, se declaro una funcion, donde obviamente se hace referencia para el menu dinamico, como punto a parte el sistema completo se hizo con VP ASP sofware de carro de compras y el cual he editado en parte.

Código:
% 
dim cid, name,catSQL,i
dim strcategory, catcount, categories,maxcategories
Dim catdbc,catrs, hassubcategory,mylink

ShopOpenDatabaseP catdbc 
catSQL="Select * from categories where highercategoryid=0 and cathide is null order by catdescription asc"
set catrs=catdbc.execute(catsql)
						
While Not catrs.EOF 

if (catrs("hassubcategory")="yes") then
						
cid=catrs("categoryid")
							
							
response.write("<tr onMouseOver=""this.style.color='#949494';this.style.cursor='hand';"" onMouseOut=""this.style.color='#666666';"" 
onclick=""submenu('"& catrs("categoryid")&"'); this.style.color='#FF0000'; ""><td height='20' background='fondo-menu.jpg' >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"& catrs("catdescription")&"</td></tr><tr><td><table width='100%'  border='0' cellspacing='0' 
cellpadding='0' id='" & catrs("categoryid") & "' style='display:none'>") 
							
					
catSQL="Select * from categories where highercategoryid="& catrs("categoryid")&" and cathide is null "

set hassubcategory=catdbc.execute(catsql)

While Not hassubcategory.EOF 
cid=hassubcategory("categoryid")
						
response.write("<tr onMouseOver=""this.style.color='#949494';this.style.cursor='hand';"" onMouseOut=""this.style.color='#666666';""
onclick=""window.open('shopdisplayproducts.asp?id=" & cid & "&amp;cat=" & catrs("catdescription") & "','_self')"" ><td height='20' 
background='fondo-sbmenu.jpg'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"& hassubcategory("catdescription")&" 
</td></tr>") 
							
					
hassubcategory.movenext

wend

response.write("</table>")

else

cid=catrs("categoryid")
						

response.write("<tr onMouseOver=""this.style.color='#949494';this.style.cursor='hand';"" onMouseOut=""this.style.color='#666666';""
onclick=""window.open('shopdisplayproducts.asp?id=" & cid & "&amp;cat=" & catrs("catdescription") & "','_self')"" ><td height='20'
background='fondo-menu.jpg'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"& catrs("catdescription")&"</td></tr>")
						
end if
						
						
catrs.movenext
wend
%
Veamos, se que cuando -- onclick=""submenu('"& catrs("categoryid")&"'); this.style.color='#00FF00'; "" -- llama a la funcion ademas de poner verde al click pero como ademas cuando -- onMouseOver=""this.style.color='#949494';this.styl e.cursor='hand';"" onMouseOut=""this.style.color='#666666';"" -- vuelve a la normalidad, no se como decirle tomando alguna variable que cuando este desglosado el menu ponga por ejemplo "Almacenamiento en verde que contiene las subsecciones CD, DVD. etc

Tambien se -- style='display:none' -- esconde las subsecciones del menu, me he mariado editando el codigo, insertando condiciones, editando la funcion pero estoy obligado a sacarlo del response.write donde esta impusta las condiciones

Muchas gracias si me guian o me aclaran por que la verdad estoy bloqueado, tal vez la solucion es muy simple pero la verdad no la veo
  #2 (permalink)  
Antiguo 20/09/2007, 10:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Problema con menu dinamico

La neta no me quedó claro .... ¿lo que quieres es que al dar clic sobre una opción con submenú, ésta quedé en verde?
  #3 (permalink)  
Antiguo 20/09/2007, 10:37
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Problema con menu dinamico

Modifica esta función de esta forma:
Código:
function submenu(cual,obj){
  if (document.getElementById(cual).style.display=='none'){
     document.getElementById(cual).style.display="";
     document.getElementById(cual).style.color='#949494'
     if (obj) obj.onmouseout=function(){} 
  }else{
     document.getElementById(cual).style.display='none';
     if (obj) obj.onmouseout=function(){obj.style.color='#666666';} 
  }
}
Y a las opciones de menú que quieras que se queden en verde les mandas al objeto en cuestión, por ejemplo para la opción de Impresoras cambia la llamada por esta onclick=submenu('63',this)>

Con eso tienes

Saludos
  #4 (permalink)  
Antiguo 20/09/2007, 16:38
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con menu dinamico

gracias, lo aplicare....y respecto a lo que me dijiste anteriormente no soy muy idoneo en el tema ASP y Javascrip por tanto tal vez no me explique con claridad a veces, pero como decia mi antiguo mastro, sino sabes explicarlo con palabras entonces con manzanas ahi voy...

Quiero que mi menu quede asi cuando este en la opcion...Almacenamiento/CD de la pagina activa.

Almacenaniento
---->CD
---->Data Catridge
---->diskette
---->DVD
Cartucho de tinta
Cinta de Impresora
Grabador de CD-DVD
Impresoras
Mouse
Mp3
Papeleria
Pendrive
Targeta de memoria
Teclado
Toner
Web Cam


El problema es, que aparte de no poder dejar la seleccion activa en la posicion de la pagina actual, al hacer click se RECARGA la pagina volviendo al estado original del menu dinamico, o sea:


Almacenaniento(aqui donde se almacena el submenu)
Cartucho de tinta
Cinta de Impresora
Grabador de CD-DVD
Impresoras
Mouse
Mp3
Papeleria
Pendrive
Targeta de memoria
Teclado
Toner
Web Cam

Ahora creo que lo deje mas claro, lo que pasa es que estoy tan bloqueado para la solucion que pueden ser dos miseras lineas pero he inventado hasta el primer computador!!!!! buscando la solucion. necesito otro cerebro o cambiar el mio ajajaja

Defini una bandera(Switch) para que tome una variable y decirle con un IF que; cuando este en la pagina de CD dile al menu que desplique el:

-Almacenaniento

Donde esta alojado la Opcion CD

Almacenaniento
---->CD
---->Data Catridge
---->diskette
---->DVD

Y lo destaques en verde

Almacenaniento
---->CD
---->Data Catridge
---->diskette
---->DVD

Y.....ERROR me mando al carajo, la cuestion es que no se como validar el comportamiento de la pagina con el menu para que este sean consecuentes entre si.

Gracias

Pd: Sino fui claro, lo explicare con sandias o papas pero voy a salir de esta sea como sea.
  #5 (permalink)  
Antiguo 21/09/2007, 07:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con menu dinamico

Me funciono bien pero aun tengo el problema del reinicio del menu, ya que la pagina se recarga o sea"Click target _blank" ya lo intente con mainframe pero como este no posee no me pesca :(

gracias
Fall
  #6 (permalink)  
Antiguo 21/09/2007, 07:56
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Problema con menu dinamico

Bueno, ya quedó lo del menú

Lo otro esta fácil igual, tienes dos opciones:

1) Como tu página no se recarga, sino que manda a llamar otra llamada "shopexd.asp" para cada selección, puedes sacar el código del menú y colocarlo en una página aparte e invocarlo por medios de iframes

2) Esto implica más programación, pero lo que yo haría (aparte de colocar el código del menú en algún include para que no este repetido en default.asp y shopexd.asp) sería agregar un parámetro en tus llamadas que indique la capa que será abierta y el Id de la fila (claro que deberás agregar un ID a cada fila de la tabla que sea menú principal), por ejemplo shopexd.asp?id=25514&Capa=63;RowId=01&amp;bc=no; y en el evento onLoad llamar a submenu('<%=Request("Capa")%>',document.getElement ById('<%=Request("RowId")%>'))

No se por cual prefieras irte
  #7 (permalink)  
Antiguo 21/09/2007, 09:01
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con menu dinamico

Habia imaginado men, que podria haber una especie de "swich" en el cual podria identificar la posicion de la pagina y compararla con el link de las opcines del menu mediante un ciclo while, for y por que no hacerlo lineal por un if. Pienso esto ya que se que los click del usario son capturados y asi redirecciona a la pagina correspondiente segun la opcion.

La verdad me gustaria saber que posible solucion harias tu, lo de Iframe la verdad nunca lo he aplicado y no sabria como si tu me guias te lo agradeceria, o algun tutorial que me digas para leerlo y estudiarlo.

gracias

Fall....

Pd: Si alguien aparte del moderador podria guiarme hacerca de los iframe, tambien se lo agradeceria.

Última edición por Fall; 24/09/2007 a las 06:45
  #8 (permalink)  
Antiguo 24/09/2007, 06:47
 
Fecha de Ingreso: septiembre-2007
Mensajes: 7
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con menu dinamico

Alguien que me explique los iframes, gracias

fall
  #9 (permalink)  
Antiguo 24/09/2007, 07:06
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Re: Problema con menu dinamico

No se que avances tengas en cuento a lo que necesitas, lo que te sugerí resuelve tu problema pero necesitas hacerlo, igual lo de los iframes requieren igual que le metas bastante mano al código de los dos programas ya que vas a hacer un tercer archivo con los puros menús, no se si sea lo mejor dado el tiempo que ya ha pasado.

En la liga hay páginas que explican iframes, y si gustas colocar el avance que tengas y alguna duda específica, pues con gusto te ayudamos.

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 11:53.