embeber php en alert javascript

231 views
Skip to first unread message

sercuto

unread,
Jun 26, 2009, 1:26:11 PM6/26/09
to Ajax-es
Hola a todos.

Tengo una funcion en javascript que pinta un alert:

function checkformfile ( form )
{
if (form.title.value == "")
{
//alert( "Per favor, necessite el títol");
alert( "<? echo t($L,"Warningtitle"); ?>");
form.title.focus();
return false;
}
}

La cual dentro de mi fichero php funciona correctamente, es decir
pinta el texto de la variable php dentro del alert.

El caso es que quiero separar el codigo en un fichero .js, pero al
hacerlo la funcion presenta el contenido del alert de forma literal
sin pintando dentro del alert: ? echo t($L,"Warningtitle"); ?> en
lugar del texto, ¿como puedo hacer que me funciones?

Gracias de nuevo.

Miguel Panuera

unread,
Jun 26, 2009, 8:12:53 PM6/26/09
to Aja...@googlegroups.com
Holas
uhmmm, creo que es porque estas usando como extension del archivo js
osea le estas diciendo que el contenido es javascript y no php
se tendria q ver otra manera de hacerlo, derrepente
un include dentro del php, llamando al archivo y q este con etiquetas
 <script>

lo siento ahora no se me ocurren buenas ideas :(
Saludos. bye
--
Miguel Panuera
Estudiante de Pregrado
Ciencias de la Computacion
mpanuera[AT]gmail.com

Omar Flores Martinez

unread,
Jun 29, 2009, 1:23:00 PM6/29/09
to Aja...@googlegroups.com
La unica manera que se me ocurre es q pongas tu archivo con la extension .php en vez de .js y ya no tendras problema, porq desde javascript creo q no puedes hacer llamadas a la funciones de php.

Saludos ..

ISC Omar Flores Martínez
SoftWare Developer
Cel. 2231130616
http://omixisc.blogspot.com
Be free, be GNU/Linux

Jose Manuel

unread,
Jun 29, 2009, 1:36:22 PM6/29/09
to Aja...@googlegroups.com
yo no veo ningún problema, tal vez un poco la forma en que lo estás planteando, yo creo que puedes dejar tu archivo como .js, pero eso si no olvidando que un js es un js y punto, no lo mezcles con código php porque el php es interpretado en el servidor y le js en el cliente (por eso te muestra <? echo t($L,"Warningtitle"); ?>, en la salida html.

lo que yo te recomendaría es algo como esto

archivo funcion.js
 function checkformfile ( form , advertencia) {
   var alerta = advertencia;

   if (form.title.value == "")
     {
     //alert( "Per favor, necessite el títol");
     alert(alerta);
     form.title.focus();
     return false;
     }
}

y en el archivo php realizas algo como esto

<scritp type="text/javascript" src="ruta/funcion.js"></script>



<script>
checkformfile(form, <?php echo t($L,"Warningtitle"); ?>;

</script>


creo que eso, tal vez así o con una s mínimas correcciones debería funcionar, ya que no lo he probado.

bueno suerte.
--
_________________________
Jose Manuel Mora Fallas
www.acto.go.cr

Manuel Canga

unread,
Jun 30, 2009, 7:58:16 AM6/30/09
to Aja...@googlegroups.com
uy, en el segundo ejemplo, es:
<script>
texto = "<? echo t($L,"Warningtitle"); ?>";
</script>

:D
Despiste


El 30 de junio de 2009 13:56, Manuel Canga <program...@manuelcanga.es> escribió:
Hola Sergio,
Mira tienes unas cuantas formas de hacerlo, te comento las más fáciles:

1. Crear un archivo php que contenga a tu función. Ej:
mijavascript.php
------------------------


 function checkformfile ( form )
   {
   if (form.title.value == "")
     {
     //alert( "Per favor, necessite el títol");
     alert( "<? echo t($L,"Warningtitle"); ?>");
     form.title.focus();
     return false;
     }
}

Luego este archivo incluirlo desde un html normal:
<html>
<head><title>incluyendo un js que es un php</title>
<script type="Javascript" scr="mijavascript.php"></script>
</head>
<body>
aqui mi web...
</body>
</html>

Incluso este truco serviría para hacer css dinámicos por si te apetece.

2.) Asignar el valor en un avariable global y luego usar esta. Ej:
mijavascript.js
----------------------
texto = "Warningtitle"; //valor por defecto de texto

 function checkformfile ( form )
   {
   if (form.title.value == "")
     {
     //alert( "Per favor, necessite el títol");
     alert( texto);

     form.title.focus();
     return false;
     }
}

y luego tener un php que haga la asignacion:
miscript.php
-----------------
<html>
<head><title>Ejemplo 2</title>
texto = "<? echo t($L,"Warningtitle"); ?>";
</head>
<body>
.....
<input type="submit" value="enviame" onclick='return checkformfile("miform");' />
<body>


Habría otras formas aunque un pelin más complicadas como el parsear el javascript. No recomendables a priori.

Suerte!!

Un saludo


--
Manuel Canga
- Programador Web Sevilla: http://manuelcanga.es



--
Manuel Canga
- Programador Web Sevilla: http://www.manuelcanga.es

Manuel Canga

unread,
Jun 30, 2009, 7:56:23 AM6/30/09
to Aja...@googlegroups.com
Hola Sergio,
Mira tienes unas cuantas formas de hacerlo, te comento las más fáciles:

1. Crear un archivo php que contenga a tu función. Ej:
mijavascript.php
------------------------

 function checkformfile ( form )
   {
   if (form.title.value == "")
     {
     //alert( "Per favor, necessite el títol");
     alert( "<? echo t($L,"Warningtitle"); ?>");
     form.title.focus();
     return false;
     }
}

Luego este archivo incluirlo desde un html normal:
<html>
<head><title>incluyendo un js que es un php</title>
<script type="Javascript" scr="mijavascript.php"></script>
</head>
<body>
aqui mi web...
</body>
</html>

Incluso este truco serviría para hacer css dinámicos por si te apetece.

2.) Asignar el valor en un avariable global y luego usar esta. Ej:
mijavascript.js
----------------------
texto = "Warningtitle"; //valor por defecto de texto
 function checkformfile ( form )
   {
   if (form.title.value == "")
     {
     //alert( "Per favor, necessite el títol");
Reply all
Reply to author
Forward
0 new messages