Foros del Web » Programando para Internet » PHP »

pasar in id en php a javascript

Estas en el tema de pasar in id en php a javascript en el foro de PHP en Foros del Web. hola, a todos quiero hacer algo muy sencillo y tengo problemas para pasar las variables este es mi html Código HTML: <?php $var=1;?> <!--Al hace ...
  #1 (permalink)  
Antiguo 06/08/2012, 22:22
 
Fecha de Ingreso: septiembre-2006
Mensajes: 116
Antigüedad: 17 años, 8 meses
Puntos: 1
pasar in id en php a javascript

hola, a todos quiero hacer algo muy sencillo y tengo problemas para pasar las variables

este es mi html
Código HTML:
<?php $var=1;?>

<!--Al hace llamado a la función solo tienes que idicar el nombre del DIV entre parentesis -->
<p><a href="#" id= "$var" onclick="prueba(this.id)" title="">Mostrar / Ocultar</a></p>

<div id="<?php echo $var;?>">
<p>Este contenido tiene que mostrarse con el link</p>
</div> 
y esta mi funcion en javascript

Código PHP:
function muestra_oculta(id){
if (
document.getElementById){ //se obtiene el id
var el document.getElementById(id); //se define la variable "el" igual a nuestro div
el.style.display = (el.style.display == 'none') ? 'block' 'none'//damos un atributo display:none que oculta el div
}
}
window.onload = function(){/*hace que se cargue la función lo que predetermina que div estará oculto hasta llamar a la función nuevamente*/
muestra_oculta('el');/* "contenido_a_mostrar" es el nombre que le dimos al DIV */

quiero que al tocar el link se me oculte o se me muestre el div

Código HTML:
<div id="<?php echo $var;?>">
<p>Este contenido tiene que mostrarse con el link</p>
</div> 
el id lo obtengo de php pero no se como pasarselo ni como obtenerlo en java script

he mirado por internet pero no me vale nada de lo que he probado.

alguna idea???

gracias
  #2 (permalink)  
Antiguo 06/08/2012, 22:32
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

ve si esto te da una idea...

<html>
<head>
<script type='text/javascript'>
<!--

var id = <?php echo $id; ?>

//-->
</script>
</head>
<body>
</body>
</html>
  #3 (permalink)  
Antiguo 06/08/2012, 22:35
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por KsrZ Ver Mensaje
ve si esto te da una idea...

<html>
<head>
<script type='text/javascript'>
<!--

var id = <?php echo $id; ?>

//-->
</script>
</head>

<body>
</body>
</html>
bueno no se bien que es esto, abris un script js, luego pones comentarios HTML y abris etiquetas php dentro de un script js.

No se puede hacer eso, estas mezclando 2 lenguajes totalmente diferentes.
  #4 (permalink)  
Antiguo 06/08/2012, 22:38
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por rodrigo791 Ver Mensaje
bueno no se bien que es esto, abris un script js, luego pones comentarios HTML y abris etiquetas php dentro de un script js.

No se puede hacer eso, estas mezclando 2 lenguajes totalmente diferentes.
eso es asi..

en tu index.php si es que lo usas, adjuntas tu archivo Javascript .js... verdad?
declara una zona para javascript.. y pasale a la funcion el id con un simple echo.. dentro de tu php index..

MAS ORDENADO.. dejame hacerle un edit a esto en 2 minutos..
  #5 (permalink)  
Antiguo 06/08/2012, 22:40
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por maitep Ver Mensaje
el id lo obtengo de php pero no se como pasarselo ni como obtenerlo en javascript

he mirado por internet pero no me vale nada de lo que he probado.

alguna idea???

gracias
no entiendo que id queres obtener, este?
Código PHP:
Ver original
  1. <div id="<?php echo $var;?>">
  2. <p>Este contenido tiene que mostrarse con el link</p>
  3. </div>
se supone que php te va a generar una página con un id X que te sera devuelto en un html, el id lo capturas con js.

No entiendo mucho que queres hacer.
  #6 (permalink)  
Antiguo 06/08/2012, 22:42
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por KsrZ Ver Mensaje
eso es asi..

en tu index.php si es que lo usas, adjuntas tu archivo Javascript .js... verdad?
declara una zona para javascript.. y pasale a la funcion el id con un simple echo.. dentro de tu php index..

MAS ORDENADO.. dejame hacerle un edit a esto en 2 minutos..
Lo que te dije es que estas mezclando 2 lenguajes totalmente diferentes, sin cerrar la apertura de uno cuando ya empezas a meter código del otro, y eso en este caso con js y php no se puede. En caso de html y php si.

<script type='text/javascript'>
<!--

var id = <?php echo $id; ?>

//-->
</script>

estas abriendo script js y poniendo un codigo php dentro sin cerrarlo el js antes, no es valido.
  #7 (permalink)  
Antiguo 06/08/2012, 22:45
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

sin duda lo malinterprete. pido disculpas por mi falta de atencion al leer
  #8 (permalink)  
Antiguo 06/08/2012, 22:52
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

KsrZ jaja todo bien, suele pasar.

Código Javascript:
Ver original
  1. var el = document.getElementById(id); //se define la variable "el" igual a nuestro div

maite que es eso? el id "id" no existe, el unico id que existe es "1" que se lo das con la variable $var desde php.
A demas de que el id que el pasas a getElementById tiene que ser string por lo tanto va entre comillas ' '
  #9 (permalink)  
Antiguo 06/08/2012, 22:53
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por rodrigo791 Ver Mensaje
Lo que te dije es que estas mezclando 2 lenguajes totalmente diferentes, sin cerrar la apertura de uno cuando ya empezas a meter código del otro, y eso en este caso con js y php no se puede. En caso de html y php si.

<script type='text/javascript'>
<!--

var id = <?php echo $id; ?>

//-->
</script>

estas abriendo script js y poniendo un codigo php dentro sin cerrarlo el js antes, no es valido.
no entiendo, porque dices que algo asi no es valido?
testealo...

Código PHP:
<html>
    <head>
        <script type='text/javascript'>
        <!--
            function alertar(){
                alert(<?php echo "'hola'"?>);
            }
        //-->
        </script>
    </head>
    <body onload='alertar()'>
    
    </body>
</html>
  #10 (permalink)  
Antiguo 06/08/2012, 23:02
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

fa la verdad me mataste, se supone que son 2 lenguajes totalmente diferentes y uno no entiende del otro, todavia no termino de entender, uno se ejecuta en el cliente y otro en el servidor.
  #11 (permalink)  
Antiguo 06/08/2012, 23:04
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

quiza lo que busca es esto creo..

Código:
Cita:
(mucho antes... ) :
Código PHP:
$id "mi_id_aca"
Código PHP:
var el = document.getElementById(<?php echo $id?>);
es posible.. con php puede crear código dinámico de varias formas...
  #12 (permalink)  
Antiguo 06/08/2012, 23:08
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Voy a abrir un post acerca de esto. No estoy de acuerdo en lo que tu dices.
PHP es ejecutado en el servidor y devuelto al cliente en html, y javascript solo es ejecutado en el cliente, por eso no entiende de php.

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <script type='text/javascript'>
  4.        
  5.         function asgg(){
  6.             <?php echo "golaaa"; ?>
  7.                      }
  8.         </script>
  9.     </head>
  10.     <body onload="asgg()">
  11.      
  12.     </body>
  13. </html>
proba eso
  #13 (permalink)  
Antiguo 06/08/2012, 23:09
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por rodrigo791 Ver Mensaje
fa la verdad me mataste, se supone que son 2 lenguajes totalmente diferentes y uno no entiende del otro, todavia no termino de entender, uno se ejecuta en el cliente y otro en el servidor.
así es.. las etiquetas php(marcas de comienzo y fin [<?php y ?>]) solo están del lado del servidor y se ejecutan en el mismo, el resto en el cliente luego de haber sido ejecutadas por el servidor y generado todo el codigo
  #14 (permalink)  
Antiguo 06/08/2012, 23:12
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por rodrigo791 Ver Mensaje
Voy a abrir un post acerca de esto. No estoy de acuerdo en lo que tu dices.
PHP es ejecutado en el servidor y devuelto al cliente en html, y javascript solo es ejecutado en el cliente, por eso no entiende de php.

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <script type='text/javascript'>
  4.        
  5.         function asgg(){
  6.             <?php echo "golaaa"; ?>
  7.                      }
  8.         </script>
  9.     </head>
  10.     <body onload="asgg()">
  11.      
  12.     </body>
  13. </html>
proba eso
sin probarlo te puedo decir que esta mal...
en javascript quedaria solo esto al ser prosesado por elservidor y enviado al cliente:

function asgg(){
golaaa
}

no entenderia que es golaaa
en cambio si haces asi si..
var gola = "<?php echo "golaaa"; ?>";
y luego lo usas con un alert por ejemplo..
alert (gola);
  #15 (permalink)  
Antiguo 06/08/2012, 23:21
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

El mensaje hola que esta en el alert, se muestra porque esta en la función alert, y entre comillas, entonces se muestra por eso, pero de php, como dije antes, no se entienden entre los 2 lenguajes. Solo por eso se muestra el mensaje en el alert, porque hay un mensaje entre comillas.

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3.  
  4. <head>
  5.     <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  6.     <meta name="author" content="ads" />
  7.  
  8. <script type="text/javascript">
  9.  
  10. function hola(){
  11.    
  12.     <?php mysql_connect("localhosssst","root","") or die(mysql_error()); ?>
  13. }
  14.  
  15. </script>
  16.  
  17.     <title>Sin título 2</title>
  18. </head>
  19.  
  20. <body onload="hola()">
  21.  
  22. </body>
  23. </html>

proba esto, no deberia de funcionar, porque localhosssst no existe, y mysql_error no esta dando error en pantalla por lo tanto, no se puede mezclar codigo javascript con php, porque javascript no entiende NADA sobre php, entonces te reitero para que entiendas, ese mensaje que se muestra con la función alert de javascript, se muestra porque dentro hay esto : <?php echo "'hola'"; ?>);

javascript entiende solo "'hola'" eso, es como que pusieras esto:

alert("hola"); lo de <?php echo ... ?> no lo entiende.
  #16 (permalink)  
Antiguo 06/08/2012, 23:29
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por KsrZ Ver Mensaje
sin probarlo te puedo decir que esta mal...
en javascript quedaria solo esto al ser prosesado por elservidor y enviado al cliente:

function asgg(){
golaaa
}

no entenderia que es golaaa
en cambio si haces asi si..
var gola = "<?php echo "golaaa"; ?>";
y luego lo usas con un alert por ejemplo..
alert (gola);
Es lo que te digo, javascript no entiende absolutamente nada de php, nada de nada, entonces el interprete javascript entiende esto: var gola = "golaaa";

esto: <?php echo " y esto ; ?> no lo entiende, entonces es como que no estuviera ahí. Se entiende? si javascript fuera una persona que entiende español y vos le vas escribiendo en español asi: var gola=" HASTA ACÁ SI ENTIENDE, pero cuando empieza esto <?php eso es ingles para javascript, no lo entiende.

En resumen es como que pusieras esto

var gola = "golaaa";

porque el php no lo entiende, yo ya lo comprendí ahora. Es así amigo, me hiciste dudar mucho
  #17 (permalink)  
Antiguo 07/08/2012, 02:04
 
Fecha de Ingreso: septiembre-2006
Mensajes: 116
Antigüedad: 17 años, 8 meses
Puntos: 1
Respuesta: pasar in id en php a javascript

HOla chicos gracias por contestar, pero la pregunta es mas simple... yo me he explicado fatal.

Lo que quiero coger el id del div que no es un string es una variable Por eso no me valen cosas como <div id=1 ... o < div id="casa" el div id= $variable

el id es una variable que yo obtengo en php y la quiero pasar a javascript.... como la paso, no me lo pilla!!!

:(

gracias
  #18 (permalink)  
Antiguo 07/08/2012, 03:42
 
Fecha de Ingreso: agosto-2012
Ubicación: España
Mensajes: 2
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: pasar in id en php a javascript

No se si sera algo asi lo que quieres....


Código PHP:
<?php  $variable=5/*o lo que sea, por get, post o lo que sea*/  ?>

<div id="<?php echo $variable;?>"></div>
<?php /*capa con la id $variable*/ ?>
<script type="text/javascript">
 
  var id=<?php echo $variable;?>
    
 alert (id);

 
</script>
  #19 (permalink)  
Antiguo 07/08/2012, 03:50
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: pasar in id en php a javascript

Cita:
Iniciado por rodrigo791 Ver Mensaje
Es lo que te digo, javascript no entiende absolutamente nada de php, nada de nada, entonces el interprete javascript entiende esto: var gola = "golaaa";

esto: <?php echo " y esto ; ?> no lo entiende, entonces es como que no estuviera ahí. Se entiende? si javascript fuera una persona que entiende español y vos le vas escribiendo en español asi: var gola=" HASTA ACÁ SI ENTIENDE, pero cuando empieza esto <?php eso es ingles para javascript, no lo entiende.

En resumen es como que pusieras esto

var gola = "golaaa";

porque el php no lo entiende, yo ya lo comprendí ahora. Es así amigo, me hiciste dudar mucho
Voy a sacarte del error.

Eso es completamente falso.

Sólo tienes q pensar cómo se genera la página, veamos

· Cliente pide al servidor la pagina 123.php
· Servidor GENERA la página
· Interpreta el código php
· Cliente recibe la página interpretada

Asi pues, en el lado de servidor, como aún "No ha recibido" la página el cliente, y no la tiene guardada en LOCAL, aún puedes modificar js y html, que se "EJECUTAN" en el lado del cliente, pero se "GENERAN" en el servidor.

Si pones esto

Código PHP:
<?php 

echo '<script>alert("hola");</script>';
?>
Te genera ese "código" html, que al recibirlo tu navegador lo interpreta como html (& js) y lo ejecuta en local... pero lo ha generado PHP.

No es JS haciendo magia, y saltandose las cosas que no entiende! (De hecho, un error en JS implica que falle todo el resto del js... )

otro ejemplo:

si escribes esto:
Código PHP:
<?php 
$hola 
"mundo";
echo 
'<script>alert("'.$hola.'")</script>';
?>
PHP generará esa página, y devolverá al cliente esto:

Código HTML:
Ver original
  1. <script>alert("mundo")</script>

Primero se ejecuta PHP, y luego va HTML/JS. Asiq desde php puedes generar salida de HTML/JS, pero desde JS no puedes hacer nada en el servidor (excepto por Ajax, pero eso ya es otra cosa!)

@Maitep

Creo que lo que buscas es esto:
Código PHP:
Ver original
  1. <?php $var=1;?>
  2.  
  3. <!--Al hace llamado a la función solo tienes que idicar el nombre del DIV entre parentesis -->
  4. <p><a href="#" onclick="muestra_oculta(<?php echo $var; ?>)" title="">Mostrar / Ocultar</a></p>
  5.  
  6. <div id="<?php echo $var;?>">
  7. <p>Este contenido tiene que mostrarse con el link</p>
  8. </div>

Con esto, le dices a la funcion de js (muestra_oculta) el id que deseas mostrar/ocultar, que te lo da php :)
__________________
>> Eleazan's Source
>> @Eleazan

Última edición por Eleazan; 07/08/2012 a las 03:59
  #20 (permalink)  
Antiguo 07/08/2012, 09:22
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

@Eleazan
Gracias por ayudar a explicar el tema >.<
ya no sabia como...

en cuanto a la respuesta del tema.. si lo quieres pasar a html
@ProduccionesWebs esta en lo correcto..
si es JavaScript..
tan solo has tu función, en tu archivo.php entre las etiquetas script
y pasa tu variable php ahí dentro
php 5.4 <?="tu id" ?>
php < 5.4 <?php echo "tu id" ?>...
  #21 (permalink)  
Antiguo 07/08/2012, 09:25
Avatar de KsrZ  
Fecha de Ingreso: abril-2011
Ubicación: /home/KsrZ/Desktop
Mensajes: 156
Antigüedad: 13 años
Puntos: 26
Respuesta: pasar in id en php a javascript

----------------------------------------
no iva aca ....
--->
le di editar al de arriba y pego uno nuevo =/

en fin... las respuestas están @Maitep
de no ser así, quizá no entendimos bien lo que buscabas.. ya nos diras
  #22 (permalink)  
Antiguo 07/08/2012, 09:39
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: pasar in id en php a javascript

Eleazan

claro, ahora vos decime, desde que punto de vista te puede servir poner esto

Código PHP:
Ver original
  1. <?php
  2. $hola = "mundo";
  3. echo '<script>alert("'.$hola.'")</script>';
  4. ?>

si es lo mismo que poner
Código Javascript:
Ver original
  1. alert("mundo");

O sea el valor de la variable se muestra porque hay un echo, sino ni ahí que se va a mostrar, y eso es porque lo genero php hacia el cliente en html, entonces a mi forma de pensar, no se para que te va a servir esto.
Si estas intercambiando información entre el servidor y el cliente ahi si se puede usar ajax y es otro tema como dijiste vos, pero esto me parece una chanchada, de mezclar el código js y php sabiendo que se ejecutan en lados diferentes, que es posible? SI lo es, lo comprobamos, pero no es una buena forma de hacer las cosas, si en definitiva, es lo mismo que hacerlo solo con js, porque de todas maneras lo que haces en php te lo va a devolver en texto al navegador cliente, por lo tanto como puse mas arriba en el código es lo mismo que uses solo esto:

Código Javascript:
Ver original
  1. alert("mundo");

o esto

Código Javascript:
Ver original
  1. var hola="mundo";
  2. alert("hola");

ya abrí otro post diferente con este tema, en esta sección de php, comenten ahí porque acá solo estamos desvirtuando, gracias por comentar :D
  #23 (permalink)  
Antiguo 07/08/2012, 09:41
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: pasar in id en php a javascript

Es muy simple...

Sirve para generar código JS dinámico. Simplemente
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: html, javascript, 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 02:54.