Foros del Web » Programando para Internet » Javascript » Frameworks JS »

paso de variables :: SOLUCIONADO

Estas en el tema de paso de variables :: SOLUCIONADO en el foro de Frameworks JS en Foros del Web. Cita: function confirmacion(archivo){ $.jGrowl("Are you sure you want to delete "+archivo+"?<br/><br/><span><a href='#' class='confirmacion' onclick=' borrar("+archivo+") ; return false;'>Yes</a><a href='#' class='confirmacion' onclick='$.jGrowl(\"Cancelling.\"); return false;'>No</a></span>", {life:5000}); } ...
  #1 (permalink)  
Antiguo 03/03/2010, 13:11
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
paso de variables :: SOLUCIONADO

Cita:
function confirmacion(archivo){
$.jGrowl("Are you sure you want to delete "+archivo+"?<br/><br/><span><a href='#' class='confirmacion' onclick='borrar("+archivo+"); return false;'>Yes</a><a href='#' class='confirmacion' onclick='$.jGrowl(\"Cancelling.\"); return false;'>No</a></span>", {life:5000});
}
Como es que cuando llamo a la funcion borrar() y le paso un parametro me dice que "archivo" no esta definido, si se le paso como parametro y estoy seguro de que lo recibe?

Esto es algo que no termino de entender. "archivo" debería actualizarse cuando hago un llamado a confirmacion();

Última edición por mayid; 03/03/2010 a las 13:39
  #2 (permalink)  
Antiguo 03/03/2010, 13:39
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: paso de variables

Listo. Era un problema de comillas.

Cita:
onclick='borrar(\""+archivo+"\")
Tengo la idea de que son necesarias para imprimir variables de PHP, pero estaba convencido de que para javascript no eran necesarias siendo que las imprimía desde una funcion...
  #3 (permalink)  
Antiguo 03/03/2010, 14:13
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: paso de variables :: SOLUCIONADO

¿Osea, que necesitabas comillas literales en la variable que pasas a la función?. Que raro.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #4 (permalink)  
Antiguo 03/03/2010, 16:54
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: paso de variables :: SOLUCIONADO

Es que no entiendo. Imprimo dos veces la variable, y la primera no necesito de comillas. Es decir, para "imprimir" la variable dentro de un llamado a una función si tuve que usar comillas (como en PHP embebido), pero para publicar el nombre en pantalla sin comillas anda.

Cita:
function confirmacion(archivo){

$.jGrowl("Are you sure you want to delete "+archivo+"?<br/><br/><span><a href='#' class='confirmacion' onclick='borrar(\""+archivo+"\"); return false;'>Yes</a><a href='#' class='confirmacion' onclick='$.jGrowl(\"Cancelling.\"); return false;'>No</a></span>", {life:5000});
}
Si alguien sabe el porqué, me gustaría saberlo.
  #5 (permalink)  
Antiguo 03/03/2010, 18:00
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: paso de variables :: SOLUCIONADO

¿cómo tienes la función borrar? la verdad es que no entiendo que pasó pero me da curiosidad.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #6 (permalink)  
Antiguo 03/03/2010, 18:03
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: paso de variables :: SOLUCIONADO

Cita:
function borrar(archivo){

$.get('libreria/borrar_archivos.php?nombre='+archivo+'&recorrido=< ?php echo $path; ?>', function(data) {

if (eval(data) != "1"){
$.jGrowl(data);
} else{
$.jGrowl("Files successfully deleted.");
setTimeout("location.reload(true)",1500);
}
});
};
Y esta es la llamada a confirmación:

Cita:
echo '<a class="erase" href="#" onclick="confirmacion(\''.$archivo[0].'\'); return false;"><img src="libreria/imagenes/eliminar.gif" alt="'.$archivo[0].'" title="erase"/></a>';
... eur publicada se lee así:
Cita:
<a class="erase" href="#" onclick="confirmacion('horse_mayid'); return false;"><img src="libreria/imagenes/eliminar.gif" alt="horse_mayid" title="erase"/></a>
  #7 (permalink)  
Antiguo 03/03/2010, 18:14
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: paso de variables :: SOLUCIONADO

Esto que pusiste lo veo perfectamente:

Código PHP:
Ver original
  1. echo '<a class="erase" href="#" onclick="confirmacion(\''.$archivo[0].'\'); return false;"><img src="libreria/imagenes/eliminar.gif" alt="'.$archivo[0].'" title="erase"/></a>';

como lo que estás pasando es un string a confirmacion necesitas comillas reales. Yo personalmente lo haría así:

Código PHP:
Ver original
  1. echo '<a class="erase" href="#" onclick="confirmacion("'.$archivo[0].'"); return false;"><img src="libreria/imagenes/eliminar.gif" alt="'.$archivo[0].'" title="erase"/></a>';

para no tener que darle 'scape' a las comillas simples, pero eso ya cuestión de gustos.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #8 (permalink)  
Antiguo 03/03/2010, 18:17
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: paso de variables :: SOLUCIONADO

O se que no afecta que onclick tambien use comillas dobles... porque hay un parentesis.

Cita:
onclick="confirmacion("'.$archivo[0].'"); return false;"
  #9 (permalink)  
Antiguo 03/03/2010, 18:22
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: paso de variables :: SOLUCIONADO

en este caso las comillas simples se no afectan el string porque están dentro de comillas simples. aparecerán como comillas literales.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #10 (permalink)  
Antiguo 03/03/2010, 18:27
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: paso de variables :: SOLUCIONADO

Me refiero a las dobles:

"confirmacion("

La que está dentro del paréntesis no estaría cerrando la comilla doble de onclick?

Cita:
onclick="confirmacion("'.$archivo[0].'"); return false;"
  #11 (permalink)  
Antiguo 04/03/2010, 07:24
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Respuesta: paso de variables :: SOLUCIONADO

Perdón , me hice un rollo tratando de explicar. Quise decir las comillas dobles dentro de comillas simples se tratan como comillas literales.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...

Etiquetas: solucionado, variables
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 05:36.