Programación Web y Scripting > PHP

 pasar via onclick una strin o int a JavaScript

(1/1)

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>

F_Tanori:

--- 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>
--- Fin de la cita ---

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

Saludos

grandzam:
Estoy de acuerdo con F_Tanori, de igual forma para evitar los escapes puedes usar esto:


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

F_Tanori:

--- Cita de: "grandzam" ---Estoy de acuerdo con F_Tanori, de igual forma para evitar los escapes puedes usar esto:


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

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 ---    $usuario_id = 100;   // con llaves o sin   echo "<td align='center'><img onClick='opcion({$usuario_id})' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>n";  
La salida a pantalla (echo) nos dara como resultado


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

--- Código: Text ---onClick='opcion(100)'  
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 ---function opcion(usuario_id){ventana=confirm("Desea Borrar el Usuario");if (ventana) {    window.self.location='eliminar.php?id='+ usuario_id;}else {   window.self.location='Admin_Usuarios.php';}} 
Resultado:


--- Código: Text ---window.self.location='eliminar.php?id=100 
------------------------------------------------------------------------------------------------------
Pero si el parametro es cadena... se requier enviar entrecomillado


--- Código: PHP ---    $usuario_id = 'usuario100';    echo "<td align='center'><img onClick='opcion("$usuario_id")' src='..imgsbasura.png' border=0 align=left WIDTH=18   HEIGHT=18></a></td></tr>n";  
La salida a pantalla (echo) nos dara como resultado


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


--- Código: Text ---onClick='opcion("usuario100")'  


--- Código: Text ---function opcion(usuario_id){ventana=confirm("Desea Borrar el Usuario");if (ventana) {    window.self.location='eliminar.php?id='+ usuario_id;}else {   window.self.location='Admin_Usuarios.php';}} 
Resultado:


--- Código: Text ---window.self.location='eliminar.php?id=usuario100 
Espero se logre entender

Saludos

F_Tanori:
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
--- Fin de la cita ---

Navegación

[0] Índice de Mensajes

Ir a la versión completa