Calendario: PARTE2
Código Javascript
:
Ver originalfunction formatoFecha(fecha){
if(fecha.toString().length == 8){
var an = fecha.toString().substring(0,4)
var me = fecha.toString().substring(4,6)
var di = fecha.toString().substring(6,8)
}
else{
if(fecha.toString().length == 6){
var an = fecha.toString().substring(0,4)
var me = fecha.toString().substring(4,6);
var di = ''
}
else{
var an = ''
var me = fecha.toString().substring(0,2)
var di = fecha.toString().substring(2,4)
}
}
me = eval(me)
me = meses[me-1]
return di + " " + me + " " + an
}
function cambiarMes(val){
var _anio = document.getElementById('tunAnio').value
var _dia = 1;
if(val){
var _mes = document.getElementById('tunMes').options[document.getElementById('tunMes').selectedIndex].value
eval('_mes' + val + val)
_mes = _mes < 0 && val == '-' ? 11 : _mes
_mes = _mes > 11 && val == '+' ? 0 : _mes
if(eval(_mes) == 0 && val == '+') _anio++
if(eval(_mes) == 11 && val == '-') _anio--
document.getElementById('tunMes').options[_mes].selected = true
document.getElementById('tunAnio').value = _anio
}
else{
var _mes = mes
}
mes = _mes
anio = _anio
borra();
gHoy = 0;
tunCalendario()
escribeFecha(_anio.toString() + formatoDiaMes(_mes + 1)); enlaceListarMes()
}
function escribirEventosMes(){
escribeFecha(anio.toString() + formatoDiaMes((mes + 1).toString()))
escribeEvento2(eval(meses[mes].toLowerCase()), true)
}
function escribeControles(){
var obj = document.getElementById(idContenedor)
var sp = document.createElement('span')
sp.className = "cambiaMes"
sp.onclick = function() {cambiarMes('-')}
sp.appendChild(document.createTextNode('«'))
obj.appendChild(sp)
var sel = document.createElement('select')
sel.className = 'selectores'
sel.id = 'tunMes'
sel.onchange = function(){
mes = this.selectedIndex;
cambiarMes(false)
}
for(var p in meses){
opt = document.createElement('option')
opt.value = p
opt.appendChild(document.createTextNode(meses[p]))
sel.appendChild(opt)
}
obj.appendChild(sel)
var campo = document.createElement('input')
campo.type = 'text'
campo.id = 'tunAnio'
campo.className = "selectores"
campo.maxlength = "4"
campo.size = 4
campo.onblur = function(){
if(!isNaN(this.value)){anio=this.value;borra();tunCalendario()}
}
obj.appendChild(campo)
var sp = document.createElement('span')
sp.className = "cambiaMes"
sp.onclick = function() {cambiarMes('+')}
sp.appendChild(document.createTextNode('»'))
obj.appendChild(sp)
carga = true
}
Config:
Código Javascript
:
Ver original/** Configuración general **/
var idContenedor = "miCalendario" //id del contenedor donde se insertará el calendario
var calendarioCursor = 'pointer'
var calendarioPaddingCelda = 3; //Corrige la posición del cuadro que marca el día seleccionado en caso de haberse aplicado un padding a las celdas
var tagTitulos = 'h2' //Tag a usar en los títulos de eventos y efemérides
var textoVerTodos = 'Listar todo el mes'
/** fin configuración general **/
/** Configuración general **/
var idContenedor = "miCalendario" //id del contenedor donde se insertará el calendario
var calendarioCursor = 'pointer'
var calendarioPaddingCelda = 3; //Corrige la posición del cuadro que marca el día seleccionado en caso de haberse aplicado un padding a las celdas
var tagTitulos = 'h2' //Tag a usar en los títulos de eventos y efemérides
var textoVerTodos = 'Listar todo el mes'
/** fin configuración general **/
function evento(fecha, titulo, texto, enlace){
this.fecha = fecha;
this.titulo = titulo;
this.texto = texto;
this.enlace = false;
if(enlace) this.enlace = enlace
}
/** agregamos los listados de efemérides y eventos por meses:
var nombreDelMes = new Array();
nombreDelMes.push(new evento('fecha en formato aaaammdd o mmdd', 'Título', 'Texto','Link [opcional]'));
**/
var enero = new Array();
var febrero = new Array();
var abril = new Array();
var mayo = new Array();
var junio = new Array();
var agosto = new Array();
var septiembre = new Array();
var diciembre = new Array();
Como veis en el archivo de configuracion se añaden los eventos a los arrays, y el otro es la configuracion del calendario.
¿Que podría hacer para que en vez de tenerlos que añadir a mano, pudiese obtenerlos de la Base de Datos, a la cual se los he introducido mediante un formulario?
Un saludo y Gracias de antemano.
PD:
Creación: Tunait - Modificación: Flow89
PD2: Tambien consta de un archivo .CSS el cual no adjunto ya que no es necesario, si alguien lo quiere, que busquen en la página de Tunait o que me lo pidan a mi.