Foros del Web » Programando para Internet » Javascript »

Usar javascript en codigo generado con php

Estas en el tema de Usar javascript en codigo generado con php en el foro de Javascript en Foros del Web. Buenas amigos tengo un pequeño problema al utilizar javascript en un código generado con PHP. Resulta que obtengo unos datos desde la BD y los ...
  #1 (permalink)  
Antiguo 22/11/2010, 13:25
 
Fecha de Ingreso: noviembre-2010
Mensajes: 67
Antigüedad: 13 años, 5 meses
Puntos: 0
Usar javascript en codigo generado con php

Buenas amigos tengo un pequeño problema al utilizar javascript en un código generado con PHP. Resulta que obtengo unos datos desde la BD y los agrego sobre unos text, lo cual lo genero con el PHP mediante echo"". Genero también dos campos que utilizan javascript específicamente crean un calendario y permiten insertar la fecha desde este.
Al general esto se construye todo, pero la funcionalidad del javascript no se ejecuta. Mis consultas son:
Tengo que tener alguna consideración al hacer eso?
El código del javascript lo tengo generar dentro de la función php o fuera de este?. Me refiero a que si se escribe luego de terminar la función y siga con la construcción del html.
  #2 (permalink)  
Antiguo 22/11/2010, 14:21
Avatar de WingzemonX  
Fecha de Ingreso: noviembre-2010
Mensajes: 75
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Usar javascript en codigo generado con php

¿Podrías mostrar tu codigo? O al menos la parte que causa problemas, asi podriamos ver con mas cuidado cual es tu problema (ahorita a como lo dices no me queda claro bien a que te refieres). Pero no, no debes de hacer nada como lo que cuestionas de poner el JS en una funcion PHP o poner algo en especial al terminar la funcion, no por obligacion, al menos que especificamente tu codigo lo requiera.

Como digo, no hay forma de decirte bien que hacer si no vemos a que te referies especificamente.
  #3 (permalink)  
Antiguo 22/11/2010, 15:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 67
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Usar javascript en codigo generado con php

Gracias por tu respuesta. Aquí esta mi código

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">
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5.         <link rel="stylesheet" type="text/css" media="all" href="../Javascript/JSCal/skins/tiger/theme.css"/>
  6.         <script type="text/javascript" src="../Javascript/JSCal/calendar.js"></script>
  7.         <script type="text/javascript" src="../Javascript/JSCal/lang/calendar-es.js"></script>
  8.         <script type="text/javascript" src="../Javascript/JSCal/calendar-setup.js"></script>
  9.  
  10.         <title>Listado de Bimestres</title>
  11.     </head>
  12.  
  13.     <body>
  14.         <div>
  15.  
  16.             <h2>Listado Bimestres </h2>
  17.             <form id="bimestre" name="bimestre" method="post" action="pruebaindex2.php?controlador=Bimestre&accion=modificarBimestre">
  18.                 <fieldset>
  19.                     <legend>Modificar Bimestre</legend>
  20.                     <?php
  21.                     // $resultado es una variable asignada desde el controlador ControladorBimestre.
  22.  
  23.                     $identificador;
  24.                     $alias;
  25.                     $fechainicio;
  26.                     $fechatermino;
  27.                     $comentario;
  28.  
  29.                     foreach ($resultado as $object) {
  30.  
  31.                         $identificador = $object->getIdentificador();
  32.                         $alias = $object->getAlias();
  33.                         $fechainicio = $object->getFechaInicio();
  34.                         $fechatermino = $object->getFechaTermino();
  35.                         $comentario = $object->getComentario();
  36.                     }
  37.  
  38.         echo "<table width='437' border='0' align='left'>
  39.            <tr>
  40.                <th width='112' align='left' scope='row'><label for='bimestre_identificador'>Identificador:</label></th>
  41.                <td width='315'><input type='text' id='bimestre_identificador' name='bimestre_identificador' maxlength='30' value='" . $identificador . "' readonly='readonly'></td>
  42.            </tr>
  43.            <tr>
  44.                <th scope='row' align='left'><label for='bimestre_alias'>Alias:</label></th>
  45.                <td><input type='text' id='bimestre_alias' name='bimestre_alias' maxlength='30' value='" . $alias . "'></td>
  46.            </tr>
  47.            <tr>
  48.                <th scope='row' align='left'><label for='bimestre_fecha_inicio'>Fecha Inicio:</label></th>
  49.                <td> <input type='text' id='bimestre_fecha_inicio' name='bimestre_fecha_inicio'value='" . $fechainicio . "' readonly='readonly'/>
  50.                <img src='/reservas/CSS/Img/calendar.png' id='trigger'/></td>
  51.            </tr>
  52.            <tr>
  53.                <th scope='row' align='left'><label for='bimestre_fecha_termino'>Fecha Termino:</label></th>
  54.                <td><input type='text' id='bimestre_fecha_termino' name='bimestre_fecha_termino' value='" . $fechatermino . "' readonly='readonly'/>
  55.                <img src='/reservas/CSS/Img/calendar.png' id='trigger2'/></td>
  56.            </tr>
  57.            <tr>
  58.                <th scope='row' align='left'><label for='bimestre_comentario'>Comentario:</label></th>
  59.                <td><textarea name='bimestre_comentario' id='bimestre_comentario' cols='45' rows='5'>" .$comentario. "</textarea></td>
  60.            </tr>
  61.        </table>
  62.  
  63.            "; ?>
  64.             <script type='text/javascript'>
  65.                 Calendar.setup(
  66.                 {
  67.                     inputField  : 'bimestre_fecha_inicio',         // ID of the input field
  68.                     ifFormat:     '%Y-%m-%d', // the date format
  69.                     button      : 'trigger' ,
  70.                     weekNumbers: false,
  71.                     showsTime   : false     // ID of the button
  72.                 }
  73.             );
  74.             </script>
  75.             <script type='text/javascript'>
  76.                 Calendar.setup(
  77.                 {
  78.                     inputField  : 'bimestre_fecha_termino',         // ID of the input field
  79.                     ifFormat    : '%Y-%m-%d',    // the date format
  80.                     button      : 'trigger2',       // ID of the button
  81.                     weekNumbers: false,
  82.                     showsTime   : false
  83.                 }
  84.             );
  85.             </script>
  86.      
  87.            
  88.         </div>
  89.     </body>
  90. </html>

Basicamente estoy colocando los calendarios en bimestre_fecha_inicio y bimestre_fecha_termino y los ejecuto presionando trigger1 y trigger2.
  #4 (permalink)  
Antiguo 22/11/2010, 19:46
Avatar de WingzemonX  
Fecha de Ingreso: noviembre-2010
Mensajes: 75
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Usar javascript en codigo generado con php

No conozco el funcionamiento de las librerias que estas utilizando, la de los calendarios, pero si afirmas que el unico problema es que no se ejecuta la funcionalidad de JavaScript te recomiendo dos cosas a ver si alguna funciona:

1. Abre tu pagina en Firefox (recomendable) al abrirla, sin moverle nada mas, has clic arriba en "Harramientas" y luego en "consola de errores". Normalmente ahi te marcara algunos Warnings siempre (iconos amarillos) ignoralos, y concentrate en los errores (iconos rojos). Si te sale mucho vete hasta al final final final de la lista al ultimo error que te salio, normalmente es el que importa y ve que te dice. Si no te sale ningun eror (icono rojo) no cantes victoria. Ahora intenta haciendo clic en el boton o imagen que mencionas que al hacer clic no hace nada. Una vez que le des clic y no pase nada, revisa de nuevo la consola de errores a ver si te mostro alguna diferencia.

Si gustas puedes decirnos pro aqui que error te marca si no sabes que significa.

Si no te marca NINGUN tipo de error (lo cual seria raro) podrias hacer lo siguiente:


2.No se como, pero de vez en cuando el poner el script de JS en el body no me salen las cosas como quiero, asi que normalmente ponerlos arriba, en el header, dodne tienes las referencias a las librerias, podria solucionarlo, y ponlas en el mismo tag de script. De paso, seria bueno agregarle tambien el atributo "language="javascript". Esto seria:

Código HTML:
<script language="javascript" type="text/javascript" src="../Javascript/JSCal/calendar.js"></script>
<script language="javascript" type="text/javascript" src="../Javascript/JSCal/lang/calendar-es.js"></script>
<script language="javascript" type="text/javascript" src="../Javascript/JSCal/calendar-setup.js"></script>

<script  language="javascript" type='text/javascript'>
Calendar.setup(
    {
         inputField  : 'bimestre_fecha_inicio',         // ID of the input field
         ifFormat:     '%Y-%m-%d', // the date format
         button      : 'trigger' ,
         weekNumbers: false,
         showsTime   : false     // ID of the button
     });

Calendar.setup(
{
     inputField  : 'bimestre_fecha_termino',         // ID of the input field
     ifFormat    : '%Y-%m-%d',    // the date format
     button      : 'trigger2',       // ID of the button
     weekNumbers: false,
     showsTime   : false
});
</script> 

3. Si no funciona, no se si funcione esto, pero peudes intententar poner asi tus funciones:
Código:
Calendar.setup(
    function()
    {
         inputField  : 'bimestre_fecha_inicio',         // ID of the input field
         ifFormat:     '%Y-%m-%d', // the date format
         button      : 'trigger' ,
         weekNumbers: false,
         showsTime   : false     // ID of the button
     });

Calendar.setup(
function()
{
     inputField  : 'bimestre_fecha_termino',         // ID of the input field
     ifFormat    : '%Y-%m-%d',    // the date format
     button      : 'trigger2',       // ID of the button
     weekNumbers: false,
     showsTime   : false
});
Agregandole el "function()" antes de las llaves.


Normalmente la Consola de Errores del Firefox te dice exactamente cual es tu problema. Acostumbrate si comienzas a desarrollar para Web, tener instalados en tu computadora todos los Exploradores posibles para ver como se ve la pagina en dicho explorador. Bueno, prueba y dinos que paso.
  #5 (permalink)  
Antiguo 07/04/2011, 15:18
Avatar de Markgus  
Fecha de Ingreso: junio-2010
Mensajes: 152
Antigüedad: 13 años, 10 meses
Puntos: 5
Respuesta: Usar javascript en codigo generado con php

lo pudiste solucionar @jorodriguea
quiero hacer lo mismo, no me agarra las funciones javacsript cuando las pongo dentro de una función php
si lo hago fuera con un echo si funciona , alguna sugerencia? o manera de hacerlo?
gracias

Etiquetas: php
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 16:46.