Foros del Web » Programando para Internet » Javascript »

Duda con JS y POO

Estas en el tema de Duda con JS y POO en el foro de Javascript en Foros del Web. Código: function Calendario(){ this.fecha_inicial = 0; this.fecha_final = 0; this.titulo = ''; } Calendario.prototype.addEvento = function(){ alert("FI_: "+this.fecha_inicial); } Calendario.prototype.reservar = function(){ // Recogo los ...
  #1 (permalink)  
Antiguo 10/02/2012, 10:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 169
Antigüedad: 16 años, 4 meses
Puntos: 6
Pregunta Duda con JS y POO

Código:
function Calendario(){
	
	this.fecha_inicial = 0;
	this.fecha_final = 0;
	this.titulo = '';	
}

Calendario.prototype.addEvento = function(){
	alert("FI_: "+this.fecha_inicial);
}
Calendario.prototype.reservar = function(){
	
	// Recogo los datos
	var t  = jQuery('#titulo').val();
	var fi = jQuery('#fecha_inicial').val();
	var ff = jQuery('#fecha_final').val();
	var d  = jQuery('#descripcion').val();

	//Actualizo variables globales.
	this.titulo 	   = t;
	this.fecha_inicial = fi;
	this.fecha_final   = ff;
	this.descripcion   = d;
	
	Calendario.addEvento();
}
y ocupo así la clase:

Código:
var calendar = new Calendario();
jQuery('#reservar').click(calendar.reservar);
Pero me lanza el siguiente error:
Código:
Uncaught TypeError: Object function Calendario(){

	this.fecha_inicial = 0;

	this.fecha_final = 0;

	this.titulo = '';

} has no method 'addEvento'
Calendario.reservar
f.event.dispatch
f.event.add.h.handle.i

Ayuda por favor.
__________________
Inspiracion
  #2 (permalink)  
Antiguo 10/02/2012, 10:47
 
Fecha de Ingreso: diciembre-2007
Mensajes: 169
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Duda con JS y POO

Probando veo que está bien malo :S


Ya que si dentro de la función reservar hago un alert me tira [objectInputElement] o sea el input que presiono para que se ejecute el click.

:S
__________________
Inspiracion
  #3 (permalink)  
Antiguo 10/02/2012, 10:50
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: Duda con JS y POO

Código Javascript:
Ver original
  1. Calendario.prototype.reservar = function(){
  2. (...)
  3. this.addEvento();
  4. }

this --> hace referencia al objeto Calendario osea a si mismo
  #4 (permalink)  
Antiguo 10/02/2012, 10:54
 
Fecha de Ingreso: diciembre-2007
Mensajes: 169
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Duda con JS y POO

Gracias Ryugen, si así es y además la llamada en jQuery debe ser así:
Código Javascript:
Ver original
  1. jQuery('#reservar').click(function(){
  2.             calendar.reservar();
  3.         });

Ya que de la forma anterior el this dentro de la función reservar era el del input que se presiona con el click (jQuery) y no el this de la clase Calendario.

:)
__________________
Inspiracion

Etiquetas: js, poo
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 19:11.