SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: field10pg en Jueves 22 de Enero de 2009, 01:13

Título: pasar via onclick una strin o int a JavaScript
Publicado por: field10pg en Jueves 22 de Enero de 2009, 01:13
Hola tengo este codigo que funciona bien cuando $Usuario_id es un valor numerico, si lo cambio por ejmp: $NombreUsuario que es un String  no funciona,creo que la funcion solo funciona con valores numericos. Alguien sabe porque o como solucionarlo?

echo "<td align='center'><img onClick='opcion($usuario_id)'  src='..imgsbasura.png'  border=0 align=left WIDTH=18 HEIGHT=18></a></td></tr>n";


<script language="Javascript">
function opcion(usuario_id)
{
 ventana=confirm("Desea Borrar el Usuario");
 if (ventana) {
 <?php echo "window.self.location='eliminar.php?id='+ usuario_id" ?>
 }
 else {
<?php echo "window.self.location='Admin_Usuarios.php'" ?>
 }
}
</script>
Título: Re: pasar via onclick una strin o int a JavaScript
Publicado por: F_Tanori en Jueves 22 de Enero de 2009, 07:41
Cita de: "field10pg"
Hola tengo este codigo que funciona bien cuando $Usuario_id es un valor numerico, si lo cambio por ejmp: $NombreUsuario que es un String  no funciona,creo que la funcion solo funciona con valores numericos. Alguien sabe porque o como solucionarlo?

echo "<td align='center'><img onClick='opcion($usuario_id)'  src='..imgsbasura.png'  border=0 align=left WIDTH=18 HEIGHT=18></a></td></tr>n";


<script language="Javascript">
function opcion(usuario_id)
{
 ventana=confirm("Desea Borrar el Usuario");
 if (ventana) {
 <?php echo "window.self.location='eliminar.php?id='+ usuario_id" ?>
 }
 else {
<?php echo "window.self.location='Admin_Usuarios.php'" ?>
 }
}
</script>

Bueno no tengo forma de probarlo pero mira creo que el problema es aqui


..<img onClick='opcion($usuario_id)'  ..

si es cadena necesita estar encerrada entre comillas

Prueba de esta manera, debera funcionar para ambos casos (Cadena o Numero )

Código: Text
  1.  
  2. echo "<td align='center'><img onClick='opcion("$usuario_id")'  src='..imgsbasura.png'  border=0 align=left WIDTH=18 HEIGHT=18></a></td></tr>n";
  3.  


Saludos
Título: Re: pasar via onclick una strin o int a JavaScript
Publicado por: grandzam en Jueves 29 de Enero de 2009, 23:56
Estoy de acuerdo con F_Tanori, de igual forma para evitar los escapes puedes usar esto:

Código: Text
  1. echo "<td align='center'><img onClick='opcion({$usuario_id})' src='..imgsbasura.png' border=0 align=left WIDTH=18 HEIGHT=18></a></td></tr>n";
  2.  
Título: Re: pasar via onclick una strin o int a JavaScript
Publicado por: F_Tanori en Viernes 30 de Enero de 2009, 09:56
Cita de: "grandzam"
Estoy de acuerdo con F_Tanori, de igual forma para evitar los escapes puedes usar esto:

Código: Text
  1. echo "<td align='center'><img onClick='opcion({$usuario_id})' src='..imgsbasura.png' border=0 align=left WIDTH=18 HEIGHT=18></a></td></tr>n";
  2.  

Creo que hay una pequenia confusion, el problema no es escapar las comillas, el problema es que JS requier comillas, porque necesita representar una cadena ejemplo:

Código: PHP
  1.  
  2.    $usuario_id = 100;
  3.    
  4. // con llaves o sin
  5.    echo "<td align='center'><img onClick='opcion({$usuario_id})' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>n";
  6.  
  7.  

La salida a pantalla (echo) nos dara como resultado

Código: Text
  1. <td align='center'><img onClick='opcion(100)' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>
  2.  

Código: Text
  1. onClick='opcion(100)'
  2.  

La funcion JS, recibe como parametro el usuario_id si el valor es numerico, no hay problema si se envia com comillas o no, pues el parametro lo recibe como numerico, y al generar la url no importa el tipo, porque finalmente sera una cadena.

Código: Text
  1. function opcion(usuario_id)
  2. {
  3. ventana=confirm("Desea Borrar el Usuario");
  4. if (ventana) {
  5.     window.self.location='eliminar.php?id='+ usuario_id;
  6. }
  7. else {
  8.    window.self.location='Admin_Usuarios.php';
  9. }
  10. }
  11.  

Resultado:

Código: Text
  1. window.self.location='eliminar.php?id=100
  2.  

------------------------------------------------------------------------------------------------------
Pero si el parametro es cadena... se requier enviar entrecomillado

Código: PHP
  1.  
  2.    $usuario_id = 'usuario100';
  3.  
  4.    echo "<td align='center'><img onClick='opcion("$usuario_id")' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>n";
  5.  
  6.  

La salida a pantalla (echo) nos dara como resultado

Código: Text
  1. <td align='center'><img onClick='opcion("usuario100")' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>
  2.  


Código: Text
  1. onClick='opcion("usuario100")'
  2.  


Código: Text
  1. function opcion(usuario_id)
  2. {
  3. ventana=confirm("Desea Borrar el Usuario");
  4. if (ventana) {
  5.     window.self.location='eliminar.php?id='+ usuario_id;
  6. }
  7. else {
  8.    window.self.location='Admin_Usuarios.php';
  9. }
  10. }
  11.  

Resultado:

Código: Text
  1. window.self.location='eliminar.php?id=usuario100
  2.  

Espero se logre entender

Saludos
Título: Re: pasar via onclick una strin o int a JavaScript
Publicado por: F_Tanori en Viernes 30 de Enero de 2009, 09:57
no se porque razon el usuario me ha respondido con un mensaje de correo

Citar
field10pg.

El mensaje enviado es el siguiente :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Gracias por tu colaboracion no me habia da do cuenta del error de .

Un Saludo