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
Ir a la versión completa