Foros del Web » Programando para Internet » Javascript »

Llamada a xDisplay

Estas en el tema de Llamada a xDisplay en el foro de Javascript en Foros del Web. Tengo el siguiente problema. en un select al agregar el evento onchange="expMatriz()" funciona sin problemas un div el cual me oculta y muestra informacion con ...
  #1 (permalink)  
Antiguo 26/05/2009, 09:04
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Llamada a xDisplay

Tengo el siguiente problema.
en un select al agregar el evento onchange="expMatriz()" funciona sin problemas un div el cual me oculta y muestra informacion con la siguiente funcion.
Código:
<script>
function expMatriz(){
 if (document.frm.matriz.value == "0"){
	xDisplay('capaMatriz', 'none')
	document.getElementById("nro_matriz").value = '0';
 }
 if (document.frm.matriz.value == "2"){
	xDisplay('capaMatrizNueva', 'block')
	xDisplay('capaMatriz', 'none')
	alert('Ingrese el Codigo de la Matriz');
	document.getElementById("matrizNueva").focus();
 }
 if (document.frm.matriz.value == "1"){
	xDisplay('capaMatriz', 'block')
	xDisplay('capaMatrizNueva', 'none')
	alert('Elija la Matriz que corresponda');
	document.getElementById("nro_matriz").focus();
 }
}
    </script>
Ahora, cual es metodo mas optimo para llamar la funcion sin el evento onchange?
lo tengo de esta manera pero me ejecuta solo la alerta pero no me muestra el div

Código:
<%If intMatriz = 2 Then%>
<script>
	expMatriz();
</script>
 <%End If%>
Tal como lo describo funciona la alerta pero no me muestra la informacion, lo encuentro de lo mas raro.
Ojala me puedan ayudar, muchas gracias
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #2 (permalink)  
Antiguo 26/05/2009, 09:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Llamada a xDisplay

¿En qué momento deseas que se ejecute la función? Si quieres que se ejecute al cargar la página puedes usar el evento onload:
Código javascript:
Ver original
  1. window.onload = expMatriz;
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 26/05/2009, 09:16
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 3 meses
Puntos: 2
Respuesta: Llamada a xDisplay

Excelente, puedes explicarme por que si me funcionaba el alert pero no el xDisplay.
Muchas gracias.
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #4 (permalink)  
Antiguo 26/05/2009, 09:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Llamada a xDisplay

Puede que estuvieras llamando a la función antes de terminar de cargar la página, por lo que algunos elementos a los que haces referencia aún no se habían creados, produciendo un error.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 06:10.