Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/11/2010, 17:41
jfableon
 
Fecha de Ingreso: noviembre-2010
Ubicación: Bogota
Mensajes: 5
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Fullcalendar eventos

Hola amigo,

Podrías utilizar dayClick, donde se puede crear una función que se ejecuta al hacer clic en un día visible en el calendario, para hacer aparecer un formulario y desde allí crear el evento.

Te describo lo que yo haría:
- Inicialmente se puede crear una especie de formulario en HTML
<div id="form_crea_evento">
<input type="hidden" id="input_date" />
<input type="hidden" id="input_allDay" />
Descripcion: <input type="texto" id="input_Titulo" />
Otro Dato1: <input type="texto" id="input_OtroDato1" />
Otro Dato1: <input type="texto" id="input_OtroDato2" />
</div>

- Luego el código java script sería mas o menos así:

$(document).ready(function() {

// Desde el inicio se oculta el formulario
$("#form_crea_evento").hide();

// se usa el jqueryui para que se vea como un cuadro de diálogo al desplegarlo
$("#dv_formMtto").dialog({
autoOpen: false,
width:300,
height:400,
position: [30,100],
modal: true,
});

// Creación del calendario, incluye la función para capturar el clic en un día del calendario:
var calendar = $('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view){
//captura los datos de fecha en inputs de tipo hidden
$("#input_date").val($.fullCalendar.formatDate( date, 'yyyy-MM-dd HH:mm:ss' ));
$("#input_allDay").val(allDay);
//Mostrar el formulario
jQuery("#form_crea_evento").dialog("option","butto ns",{
"Guardar": fn_Guardar,
"Cancelar": function() { jQuery(this).dialog( "close" ); }
};
});
});


// Al hacer clic en el botón Guardar del form
function fn_Guardar(){
//hay que validar los datos

//si los datos son validos continuamos

//datos a enviar
var venvio = {
fecha: $("#input_date").val(),
allDay: $("#input_allDay").val(),
titulo: $("#input_Titulo").val(),
otrodato1: $("#input_OtroDato1").val(),
otrodato2: $("#input_OtroDato2").val()
};
//luego envía por ajax para guardar el evento en la base de datos
$.post("guarda_evento.php", venvio, function(data){
//validar que se haya guardado correctamente en el php

// si se guardo correctamente continuar

//crea el evento en el calendario
var evento = $('#calendar').fullCalendar.data('eventObject'); //No estoy muy seguro de si así sería
evento.id = data.id; //si se recupera algún código ó id desde el php
evento.title = $("#input_Titulo").val();
evento.start = $("#input_date").val();
$('#calendar').fullCalendar('renderEvent', copiedEventObject);

//vuelve a esconder el form
jQuery("#form_crea_evento").dialog("close");
})
});


Sería necesario incluir jquery y jqueryui para que funcione. Bueno, la idea es esa. Espero que funcione y te sirva.

Última edición por jfableon; 30/11/2010 a las 17:43 Razón: Añadir más información