Foros del Web » Programando para Internet » Javascript »

Generador de Mes en Calendario

Estas en el tema de Generador de Mes en Calendario en el foro de Javascript en Foros del Web. Que tal gente, tengo un problema, tengo este código : Código: function getMonth() { // determine which font size to use for dates. var fontsize=1; ...
  #1 (permalink)  
Antiguo 09/07/2009, 10:20
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Generador de Mes en Calendario

Que tal gente, tengo un problema, tengo este código :

Código:
function getMonth()
{
        // determine which font size to use for dates. 
        var fontsize=1;

		//integer to keep track of how many days were added to the month in the html string
		cellCount = 0;
		
		//prints out blank cells needed to start off month calendar
		for(var blanks = 0; blanks < numBlankDays; blanks++)
		{
				cellsHTML = cellsHTML + "<TD vAlign=top align=left width=\"14%\" >&nbsp;<br><br><br><br></TD>";
                cellsHTML += "\n";
				cellCount++;
		}
		
		//prints out cells for each day of the month
		var month = newMonth;
		var year = newYear;
		for(var days = document.CalendarSettings.dcomienzo.value; days <= numberOfDays; days++)
		{
			cellsHTML = cellsHTML + "<TD vAlign=top align=center width=\"14%\" ><font size=\""+fontsize+"\" face=\"Verdana\">" +days+"</font><br><br><br><br></TD>";
            cellsHTML += "\n";
    		cellCount++;
			if(cellCount % 8 == 0)
			{
				cellsHTML = cellsHTML + "</tr><tr>";
                cellsHTML += "\n";
			}
		}
		
		//prints out blank cells needed to end off month calendar
		while (cellCount % 7 != 0)
		{
			cellsHTML = cellsHTML + "<TD vAlign=top align=left width=\"14%\" >&nbsp;<br><br></TD>";
            cellsHTML += "\n";
    		cellCount++;
		}
		
		//returns full html code for the month
		return begTags + monthName + " " + yearName + "\n" + columnHeaders() + "\n" + cellsHTML + endTags;
}
Lo que hace es esto :

[IMG]hxxp://i29.tinypic.com/fkr5ox.jpg[/IMG]

Como ven, los números me los muestra seguidos pero yo quisiera que en la celda "Observaciones" no muestre nada y los días sigan normal en la fila siguiente

No logro hacerlo

Espero puedan ayudarme y de paso preguntarles como puedo achicar las celdas. Este es un código que encontré en internet, soy principiante, he ido cambiándole algunas cosas pero me quedo estancado en esta parte.

Gracias de antemano

Saludos
  #2 (permalink)  
Antiguo 09/07/2009, 10:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Respuesta: Generador de Mes en Calendario

Les pongo estos códigos que tienen que ver con el código anterior

Código:
// Build the row that contains the day names
function columnHeaders()
{
    var result = "";
    var weekStart = document.CalendarSettings.WeekStart.value;
    
    var weekHead2 = "</font></H2></center><TABLE width=\"100%\" border=1 bordercolordark=\"#000000\" bordercolorlight=\"#FFFFFF\" cellpadding=\"5\">" + "\n" + "<TBODY><TR>";

    var weekHead3 = "<TH valign=center align=middle width=\"14%\" bgcolor=\"#000000\"><font size=\"1\" color=\"#FFFFFF\" face=\"Verdana\">"+"\n";
    var weekHead4 = "</font></TH>";

        result += weekHead2;
        var currday;
		for(var day = 1; day <= 8; day++)
        {
            result += weekHead3;
            currday = day + (weekStart - 1);
            // determine whether to use long or short day names
        	if (document.CalendarSettings.names[1].checked) 
            {
                result += daysOfWeekShort[currday];
            }
            else
            {
                result += daysOfWeekLong[currday];
            }               

            result += weekHead4;
        }
        result += "</TR><TR>";
    return result;
}

// Determine the number of days in the month and the starting/ending dates
function createMonth(inputMonth, inputYear, inputDay)
{
        var leapYear = false;   
		monthName = months[inputMonth];
		newMonth = inputMonth;
		newYear = inputYear;
        yearName = inputYear.toString();
		cellsHTML = "";
        numBlankDays = inputDay;
		//figure out if the year is a leap year
		if(inputYear%4 == 0)	
		{
		   	if(inputYear%100 != 0)
  			{
				leapYear = true;
			}
			else
			{
				if(inputYear%400 == 0)
					leapYear = true;
				else
					leapYear = false;
			}
		}

		
		//figure out the number of days in the month
		//if month is NOT february, april, june, september, nor november then it has 31 days
		if(inputMonth != 2 && inputMonth  != 4 && inputMonth != 6 && inputMonth != 9 && inputMonth != 11)
		{
			numberOfDays = 31;
		}
		else
		{
			//if month is NOT february, then it has 30 days
			if(inputMonth != 2)
			{
				numberOfDays = 30;
			}
			else
			{
				//if month is a leap year, then it has 29 days. if not, it has 28
				if(leapYear)
				{
					numberOfDays = 29;
				}
				else
				{
					numberOfDays = 28;
				}				
			}
		}
		
		postDay = (numberOfDays + numBlankDays) % 7;  // day after end of month
}
Después de estos 2 códigos viene el getmonth();

Gracias de nuevo!
  #3 (permalink)  
Antiguo 10/07/2009, 11:13
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Respuesta: Generador de Mes en Calendario

ninguna idea? :(
  #4 (permalink)  
Antiguo 10/07/2009, 12:18
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: Generador de Mes en Calendario

pienso que aun falta codigo. o sea, cual es la estructura HTML y donde llamas las funciones? podrias alojar tu documento en un host para poder verlo mas completo? incluye la direccion donde tienes alojado el documento. si aun no tienes los permisos para postear enlaces intenta seprar la url en punto estrategicos con espacios. por ejemplo, si la url es
www.forosdelweb.com/f13/generador-mes-calendario-717163/
lo separarias algo como
www forosdelweb com/f13/generador-mes-calendario-717163/
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 20/07/2009, 10:41
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Respuesta: Generador de Mes en Calendario

Disculpa la demora, estaba en examenes finales, acá te dejo el link donde subí el archivo completo, como verás, me sale todo bien, pero lo que falta es hacer que salga el cuadro en la columna "Observaciones"

hxxp://usuarios.lycos.es/izak18/tablanew2.html

Espero porfavor puedas ayudarme, estoy desesperado

Gracias por todo

Saludos
  #6 (permalink)  
Antiguo 22/07/2009, 16:59
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Respuesta: Generador de Mes en Calendario

Nada de nada? :(
  #7 (permalink)  
Antiguo 23/07/2009, 16:03
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: Generador de Mes en Calendario

he estado viendo el codigo y honestamente no tengo paciensa para interpretar como el calendario se genera puesto que utiliza mucha generacion de codigo HTML para luego escribirlo con document.write. yo lo hubiera intentado con DOM. en todo caso, no modifique mucho, mas bien elimine una entrada en un array.
Código:
// Constant array of days of the week
var daysOfWeekLong = new Array;
daysOfWeekLong[1] = "Domingo";
daysOfWeekLong[2] = "Lunes";
daysOfWeekLong[3] = "Martes";
daysOfWeekLong[4] = "Miercoless";
daysOfWeekLong[5] = "Jueves";
daysOfWeekLong[6] = "Viernes";
daysOfWeekLong[7] = "Sabado";
//daysOfWeekLong[8] = "Domingo";
daysOfWeekLong[8] = "Observaciones"; 
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #8 (permalink)  
Antiguo 30/07/2009, 10:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años
Puntos: 0
Respuesta: Generador de Mes en Calendario

Y conoces una manera de hacerlo como tu dices??

Gracias por su respuesta
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 18:21.