2012-01-06 50 views
5

Solo quiero saber cómo puedo mostrar una variable javascript en html?Cómo mostrar una variable php en html

A continuación es mi código php:

var duration = <? echo $postduration; ?>; 

(La variable anterior utiliza PHP para recuperar una variable php)

Gracias

+0

lo que ha escrito más arriba no tiene JavaScript recuperar una variable. PHP está generando el valor de $ postduration en el texto que luego será ejecutado por el navegador como JavaScript. Si no entiendes el orden de las cosas, te tomará muchas molestias. – paislee

+0

Hay algo que no huele muy bien en 'usa javascript para recuperar una variable php'. ¿Desea que el javascript lea un valor almacenado en el servidor? Si este es el caso, lo que necesita es AJAX. –

+0

Bueno, lo que quise decir es que quiero usar el código anterior "var duration = ;" para obtener el valor de $ postduration (que es 100) y luego usar html para mostrarlo recuperando la variable de JavaScript – BruceyBandit

Respuesta

8

Ma ke el código sea más conciso con jQuery:

(1) Añadir esto en su <head>:

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 

(2) Crear un elemento en el que desea que la variable que se mostrará, y darle una identificación, por ejemplo:

<span id="printHere"></span> 

(3) Añadir esto en su JavaScript:

var duration="<?php echo $postduration ?>"; 
$('#printHere').html(duration); 

Por su PHP, pruebe los siguientes dos opciones:

<?=$postduration?> 

o ...

<?php echo $postduration; ?> 
+0

Hola, en realidad ya soy código jquery pero no muestra el texto. Tengo la etiqueta de script relevante pero no muestra nada en mi lapso. Mostraré mi código en Jsfiddle para que pueda verlo. http://jsfiddle.net/SLbKX/4/, ¿Necesito mostrar la variable php en las etiquetas php encima de jquery o puede ir debajo de jquery porque en este momento la variable php está debajo del código jquery – BruceyBandit

+0

Debería irse más arriba para que esté haciendo referencia a una variable que ya existe ... Suponiendo que lo tenga como se ve en su jsfiddle, debería funcionar si PHP está generando la página. Estás editando un archivo .php, ¿verdad? – paislee

+0

Sí, es un archivo php, todavía no se muestra sorprendentemente, mi código está en este violín actualizado, http://jsfiddle.net/SLbKX/7/, no puedo ver nada incorrecto, pero no sé por qué no está funcionando – BruceyBandit

8

Por qué no usar simplemente mostrar la variable php directamente en el html?

Digamos que $postduration echos "some." Aquí está el código Javascript a hacerse eco de "algo":

Here is <script>document.write(duration)</script> text. 

aquí será la salida:

Here is some text. 
+0

Porque quiero usar javascript para el cálculo de esa variable y php requiere carga de la página cuando el cálculo cambia, mientras que javascript no lo hace – BruceyBandit

+0

@ user1131869 He publicado el código actualizado. – blake305

+0

[@ user1131869] (http://stackoverflow.com/users/1131869/user1131869) ¿Hará el cálculo con PHP o con Javascript? –

3
document.getElementById('yourElementId').innerHtml = duration; 
+1

Esta es probablemente la forma más sensata. ¿Tal vez cambiar de 'yourDiv' a 'yourElementID'? – paislee

+0

@paislee Incorporated su edición sugerida ;-) – Atonewell

2

Aquí está una manera de añadir un DIV a una página con el contenido del DIV siendo el valor de su PHP var:

<script> 
var duration = <? echo $postduration; ?>; 
var div = document.createElement("DIV"); 
div.appendChild(document.createTextNode(duration)); 
document.body.appendChild(div); 
</script> 
0

No, espera, eso está mal. En primer lugar, el javascript anterior no "recupera" nada desde ningún lugar (ni php, ni en ningún otro lugar). Php genera el javascript, lo que significa que si $ postduration es 5, obtendrás var duration = 5;, y si postduration = "test" obtendrás var duration = test; (que no es válido javascript y bloqueará/hará que ocurran cosas no deseadas en tu aplicación.

pasado, para obtener una variable de JavaScript en el hTML, o bien reemplazar el contenido de algún otro objeto (con innerHTML o algo por el estilo), o se crea un nuevo elemento e insertar esto en la página.

Ejemplo aquí: http://jsfiddle.net/SLbKX/

+0

Solo quiero saber que una etiqueta puede tener 2 id, porque quiero mostrar el contenido de la variable en un lapso pero estoy pensando si puedo usar 1 id para mostrar el contenido de la variable y otra identificación para hacer algunos cálculos en ese lapso? – BruceyBandit

+0

@ user1131869 lolwut ?! – Chad

Cuestiones relacionadas