Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2008, 04:52
Avatar de chiquirf
chiquirf
 
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 6 meses
Puntos: 3
cambiar estilo al cargar la página

Hola a todos,

Estoy combinando Javascript con PHP para cambiar estilos y que muestre y/o oculte capas al cargar una página, les explico lo que quiero hacer.

En una página recibo de la anterior por POST una variable "CampoAdulto" que puede tener el valor de 1 a 4; con ese valor capturado por PHP quiero mostrar y/o ocultar capas, les pongo unos ejemplos:

* Si CampoAdulto es igual a 1, oculta capa 'Guest2', 'Guest3' y 'Guest4,' y muestra capa 'Text3-4'.
* Si CampoAdulto es igual a 3, oculta capa 'Guest4,' y muestra capa 'Text1-4'.

Estoy poniendo esto en el <head> y no funciona:

Código PHP:
<script language="javascript" type="text/javascript">
<!--

<?php if ($CampoAdultos == 1){ ?>
    alert("adulto = 1");
    document.getElementById('Guest2').style.visibility='hidden';
    document.getElementById('Guest3').style.visibility='hidden';
    document.getElementById('Guest4').style.visibility='hidden';
    document.getElementById('Text3-4').style.visibility='visible';
<?php }
if (
$CampoAdultos == 2) {
?>
    alert("adulto =2");
    document.getElementById('Guest3').style.visibility='hidden';
    document.getElementById('Guest4').style.visibility='hidden';
    document.getElementById('Text2-4').style.visibility='visible';
<?php }
if (
$CampoAdultos == 3) {
?>
    alert("adulto = 3");
    document.getElementById('Guest4').style.visibility='hidden';
    document.getElementById('Text1-4').style.visibility='visible';
<?php ?>

//-->
</script>
Los alert() que hay dentro funcionan perfecto, pero no oculta ninguna capa, me sale un error en el IE: "Se esperaba un objeto".

He encontrado que funcione pero no como quiero, y es poniendo todo esto dentro de una función y llamandola con OnLoad en el Body, el problema es que me muestra todas las capas y luego de un segundo me oculta las capas que quiero y eso se ve fatal.

Alguna idea de solucionar esto???

Muchas gracias

Carlos