Foros del Web » Programando para Internet » Javascript »

Problema libreria

Estas en el tema de Problema libreria en el foro de Javascript en Foros del Web. Hola, buenos dias a todos, os cuento mi problema. Estoy con un proyecto en php que tiene un EULA, para mostrarlo lo que hago es ...
  #1 (permalink)  
Antiguo 14/06/2010, 04:52
Avatar de Neldor  
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 3 meses
Puntos: 1
Problema libreria

Hola, buenos dias a todos, os cuento mi problema.

Estoy con un proyecto en php que tiene un EULA, para mostrarlo lo que hago es llamar a una librería php que contiene una función que debe cargar el html y supuestamente un javascript, de forma que queda:

Archivo index.php
Código PHP:
include(./lib.php);
funcion();

// Aquí sigue con html 
Archivo lib.php
Código PHP:
function funcion(){
  echo <
script>
    function 
js(){
      
// JS
      
alert('aviso');
    }
  echo 
</script>
  echo <input onclick=js() >

Bueno, estos son los dos archivos, supuestamente al cargar el index carga también el la función lib que crea el <script>, el problema viene cuando quiero que al pulsar el input muestre el aviso, la primera vez que pulso el aviso me sale, pero a la segunda vez este me sale 2 veces y así sucesivamente.

Yo no se si eso pasa por añadir el <script> donde no toca, no llamo bién a la funcion JS o que leches hago. Necesito que el JS se encuentre en esta función para que sea modular (necesario y obligatorio) así que si alguien tiene una posible solución se lo agradecería muchísimo.
  #2 (permalink)  
Antiguo 14/06/2010, 14:32
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Problema libreria

el problema es que el interprete de php toma la función js como suya, no como la cadena que debe volcar a la salida para el HTML.

usando heredoc:

Código PHP:
<?php
function funcion(){
$parajs= <<<FIN
    <script type="text/javascript">
        function js(){
          // JS
          alert('aviso');
        }
    </script>
    <input onclick="js()" />
FIN; //imprescindible sin tabulación
    echo $parajs;
}
?>
normal: (debes escapar las comillas)

Código PHP:
<?php
function funcion(){
    echo 
'<script type="text/javascript">
        function js(){
          // JS
          alert(\'aviso\');
        }
    </script>
    <input onclick="js()" />'
}
?>
cabe recordarte que php se ejecuta e el servidor, cuando llega al JS del cliente, php ya esta inactivo

Última edición por maycolalvarez; 14/06/2010 a las 14:37

Etiquetas: librerías
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 23:54.