Foros del Web » Programando para Internet » PHP »

problema a pasar variable js a php

Estas en el tema de problema a pasar variable js a php en el foro de PHP en Foros del Web. Hola, no consigo encontrar la logica para conseguir el script que quiero, trata de cambiar el atributo de una etiqueta de forma asincronica, hasta aqui ...
  #1 (permalink)  
Antiguo 29/12/2011, 04:54
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
problema a pasar variable js a php

Hola, no consigo encontrar la logica para conseguir el script que quiero, trata de cambiar el atributo de una etiqueta de forma asincronica, hasta aqui bien, pero el problema que tengo es que el valor de ese atributo lo consigo con una variable de javascript, ya que el valor es la altura de la pantalla del cliente, segun la altura muestro una cosa o otra, pero el problema que tengo es que la etiqueta que tengo que mostrar esta construida con php y no me cambia valor del atributo ya que es una variable js, muestro un ejemplo para que se entienda mejor.

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. var altura=innerHeight;
  3. var descontar=200;
  4. var resultado=altura-descontar;
  5. </script>

Código PHP:
Ver original
  1. echo '<img src="mis imagenes" height="">';

El problema lo tengo en el atributo heigth, que para que pueda cambiarlo de forma asincronica con ajax tendria que ser una variable php, probe algo como esto:

Código Javascript:
Ver original
  1. $height='<script type="text/javascript">document.write(resultado);</script>';

pero no me funciona, como lo podria hacer? perdonar mi torpeza.
  #2 (permalink)  
Antiguo 29/12/2011, 05:05
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 8 meses
Puntos: 34
Respuesta: problema a pasar variable js a php

Dale un ID a la imagen, y accede a ella con JavaScript para cambiar el atributo height.
Código Javascript:
Ver original
  1. document.getElementById('MyImage').style.height = innerHeight - 200;

Saludos.
  #3 (permalink)  
Antiguo 29/12/2011, 05:14
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: problema a pasar variable js a php

Hola Karmac, eso podria ser una solucion pero no me valdria, la variable js siemple es la misma, y con php creo un condicional segun el height de esa variable, el condicional es lo que quiero cambiar de forma asincronica, pero claro no funciona ya que solo funciona texto plano responseText, probe de hacer un xml pero no se como hacerlo, porque en las etiquetas del xml en vez de salirme el resultado me sale el codigo js.

creo que una solucion aunque no se si la mejor, es crear un xml y guardarlo en un directorio, pero como lo puedo crear un xml con una variable de js, alguna idea?saludos
  #4 (permalink)  
Antiguo 29/12/2011, 05:32
Avatar de Karmac  
Fecha de Ingreso: agosto-2011
Ubicación: Bilbao
Mensajes: 196
Antigüedad: 12 años, 8 meses
Puntos: 34
Respuesta: problema a pasar variable js a php

Podrías cargar con AJAX esa parte de tu web, así mandas los datos y que PHP ejecute el condicional. Saludos.
  #5 (permalink)  
Antiguo 29/12/2011, 07:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 15 años, 10 meses
Puntos: 14
Respuesta: problema a pasar variable js a php

Estás planteandotelo mal, recuerda que PHP genera el código en el lado del servidor. Esto significa que antes de que el usuario reciba nada, el servidor genera el código PHP, por lo que Javascript todavía no sabe que altura tiene la página.

Tienes dos opciones; la primera es que consigas saber la altura de la página con PHP sin recurrir al documento, puesto que todavía no está abierto.
La segunda es que generes la altura con Ajax, como te han dicho, puesto que así lo que haces es;
1) Generas la página
2) Javascript calcula la altura de ésta
3) Llamas a otra página PHP mediante AJAX y AHORA SÍ sabes la altura de la página, porque ya se ha cargado.

:)
  #6 (permalink)  
Antiguo 29/12/2011, 07:59
 
Fecha de Ingreso: abril-2011
Mensajes: 867
Antigüedad: 13 años
Puntos: 5
Respuesta: problema a pasar variable js a php

Gracias por vuestras respuestas, Urdaris_Nox la opcion que mas me conviene es recuperar la altura de la pantalla con php, eso es posible?como hacerlo?un saludo
  #7 (permalink)  
Antiguo 30/12/2011, 17:42
 
Fecha de Ingreso: mayo-2008
Mensajes: 103
Antigüedad: 15 años, 10 meses
Puntos: 14
Respuesta: problema a pasar variable js a php

Mmmm... A ver. Supongo que lo que necesitas es cargar un tipo de datos dependiendo de la altura de la pantalla. Para esto puedes utilizar Ajax, puesto que cargarías los datos de una página PHP enviándole, por Javascript, la altura de la pantalla. Entonces esa página sabría que altura es.
El problema de esto es qué pasa si el usuario vuelve a cambiar la altura de la pantalla del usuario; cada vez que cambiara la pantalla estarías cargando el servidor de peticiones.

Si esto te da igual adelante.

Otra opción que podrías plantearte es intentar cargar todos los datos y luego con Javascript cambiar lo que sea que quieras según la altura. Es decir, si dependiendo de la altura muestras A, B o C, cargas A, B y C y luego con Javascript muestras uno u otro, pero ya cargados...

Etiquetas: imagenes, js, variables
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 01:47.