Ver Mensaje Individual
  #13 (permalink)  
Antiguo 08/09/2010, 16:20
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 8 meses
Puntos: 306
Respuesta: J2ee+Struts 2

No me había fijado en como hacías el show(), si quieres ocultar uno y mostar otro, ¿para qué haces una comprobación de en qué estado está cada uno?¿Lo que buscas no es que aparezca uno u otro?

Te recomiendo que en vez del visibility uses el display, así no queda el hueco del formulario no visible.

Código Javascript:
Ver original
  1. <head>
  2.  
  3. <script>
  4.  
  5. formu = '<s:property value="formulario">';
  6.  
  7.  
  8. function Inicio() {
  9.  
  10.     if (formu=='formulario1')
  11.         show1();
  12.     else if (formu=='formulario2')
  13.         show2();
  14. }
  15.  
  16. function show1(){
  17.  
  18.     document.getElementById("formulario2").style.display="none";
  19.     document.getElementById("formulario1").style.display="";
  20.    
  21. }
  22.  
  23. function show2(){
  24.     document.getElementById("formulario1").style.display="none";
  25.     document.getElementById("formulario2").style.display="";
  26. }
  27. </script>
  28.  
  29. </head>
  30. <body onload="Inicio();">
  31.  
  32. <div id="formulario1" style="display:none">
  33.  
  34. <div id="formulario2" style="display:none">

Puedes probar que esto funciona en un html cualquiera, sin usar struts. Bueno, también cambiarías <s:property value="formulario"> por formulario1/formulario2/undefined para simular los regresos de la action.

Para usar javascript sobre elementos HTML, te recomiendo que leas un poco de jQuery, es muy sencillo y te ahorra trabajo.