Foros del Web » Programando para Internet » Javascript »

Problema con este codigo

Estas en el tema de Problema con este codigo en el foro de Javascript en Foros del Web. Hola a todos, Este codigo me da error si le doy a "Cancelar" en cambio si le doy a Aceptar me lo hace correctamente. No ...
  #1 (permalink)  
Antiguo 09/07/2009, 11:24
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años, 1 mes
Puntos: 0
Problema con este codigo

Hola a todos,

Este codigo me da error si le doy a "Cancelar" en cambio si le doy a Aceptar me lo hace correctamente. No es que me muestre un error sino lo que pasa es que si le doy a "Cancelar" no puedo volver a llamar a la funcion porque no me hace nada si no refresco la ventana, si la refresco entonces ya esta correcto. Así que entiendo que en el else debería poner algo, pero no se el que porque no quiero que haga nada, por cierto tambien hice pruebas sin el else y me pasa lo mismo.

<script language="JavaScript">
var eliminar;
var ventana_eliminar;
function eliminar(codigo_ofer)
{
eliminar = confirm('¿Deseas eliminar esta oferta?');
if(eliminar == true)
{
ventana_eliminar=window.open(codigo_ofer,'name','w idth=0,height=0,left=150,top=10');
alert('La oferta ha sido eliminada correctamente.');
}
else
{

}
}
</script>
  #2 (permalink)  
Antiguo 09/07/2009, 11:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con este codigo

Si no pretendes realizar ninguna acción no es necesario el else. De todos modos, habría que ver dónde llamas a la función para saber si por ahí está el problemna.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/07/2009, 11:43
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Problema con este codigo

independientemente de la repuesta, OK o CANCEL, tienes conflicto de identificadores. la funcion puede operar solamente una vez. tienes la declaracion de una funcion que se llama eliminar y en el cuerpo de la funcion utilizas la "variable global" eliminar. aunque parecen entidades diferentes las funciones se podrian considerar tambien como variables. por tanto, en tu codigo sucede que estas sobreescribiendo la funcion eliminar con un boolean. para solucionarlo, puedes preceder el nombre de la variable en el cuerpo de la funcion con var para hacer que esta variable sea local a la funcion.

Código:
var eliminar;
var ventana_eliminar;
function eliminar(codigo_ofer)
{
var eliminar = confirm('¿Deseas eliminar esta oferta?');
if(eliminar == true)
{
ventana_eliminar=window.open(codigo_ofer,'name','w idth=0,height=0,left=150,top=10');
alert('La oferta ha sido eliminada correctamente.');
}
else
{

}
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 09/07/2009, 12:18
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Problema con este codigo

Gracias por vuestras respuestas,

era un conflicto de nombres.

Un saludo.
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 07:52.