Foros del Web » Programando para Internet » Javascript »

problema con los break

Estas en el tema de problema con los break en el foro de Javascript en Foros del Web. alguien me podria dar una mano con este codigo. el problema es cuando compilo el codigo este me muestra un error con los break del ...
  #1 (permalink)  
Antiguo 13/03/2003, 12:06
 
Fecha de Ingreso: febrero-2003
Mensajes: 10
Antigüedad: 21 años, 2 meses
Puntos: 0
problema con los break

alguien me podria dar una mano con este codigo. el problema es cuando compilo el codigo este me muestra un error con los break del switch. me dice que tienen que tener un label?????. la verdad no entiendo porque esta bien
Código:
  <SCRIPT LANGUAGE="JavaScript">

var fuente_numeros=6;		//Tamaño de la fuente
var color_fondo="blue";		//Color de fondo del calendario
var color_texto_normal="white";	//Color del texto del calendario
var color_dia_fiesta="red";	//Color de los días festivos
var meses=new Array ("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", 
		     "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
var dias=new Array("Lun", "Mar", "Mie", "Jue", "Vie", "Sab", "Dom");
var nueva_ventana;		//Ventana sobre la que se escribe el calendario
var mes_actual;			//Mes actual del calendario
var ano_actual;			//Año actual del calendario


   //Funcion que transforma el dia de la semana para que el 0 sea el lunes y
   //el 6 el domingo

function actualiza_dia_semana(dia){
	if (dia > 0)
	    return dia-1;
	else
	    return 6;
}


   //Devuelve el numero de dias que tiene un mes sabiendo que Enero es mes 0,
   //Febrero el 1, etc., y teniendo en cuenta los años bisiestos

function numero_de_dias(mes,ano){
	if (mes==3 || mes==5 || mes==8 || mes==10)
	    return 30;
	else if ((mes==1) && es_bisiesto(ano))
	    return 29;
	else if (mes==1)
	    return 28;
	else return 31;
}


   //Determina si un año es bisiesto

function es_bisiesto(ano){
	if (((ano%4==0) && ano%100!=0) || ano%400==0)
	    return true;
	else return false;
}


   //Devuelve el color asignado para los festivos(dia==6) o el correspondiente
   //con el resto de los dias

function ver_color(dia){
	if (dia==6)
	    return color_dia_fiesta;
	else
	    return color_texto_normal;
}


   //Asigna al elemento situado en el documento inicial la fecha seleccionada
   //en la ventana de ayuda y cierra esta ventana

function finalizar(dia){
	nueva_ventana.close();
	window.document.formulario.Fecha.value=dia+"/"+(mes_actual+1)+"/"+ano_actual;
}


   //Escribe en la ventana de ayuda el calendario correspondiente con un mes
   //de un año determinado

function calendario(mes,ano){
	var primer_dia=new Date(ano,mes,1);
	var dia_inicial=actualiza_dia_semana(primer_dia.getDay());
	var ultimo_dia=numero_de_dias(mes,ano);
	with (nueva_ventana)
	{
	document.open();
	document.writeln("<HTML>\n<BODY>\n<CENTER>");


   //Escritura de los botones de avance o retroceso del mes o año

	document.writeln("<FORM>");
	document.writeln("<INPUT TYPE='BUTTON' VALUE='Mes +'"+ 						

"onClick='window.opener.actualizar_calendario(2)'>");
	document.writeln("<INPUT TYPE='BUTTON' VALUE='Mes -'"+ 								

"onClick='window.opener.actualizar_calendario(3)'>");
	document.writeln("<INPUT TYPE='BUTTON' VALUE='Ano +'"+ 								

"onClick='window.opener.actualizar_calendario(4)'>");
	document.writeln("<INPUT TYPE='BUTTON' VALUE='Ano -'"+ 								

"onClick='window.opener.actualizar_calendario(5)'>");
	document.writeln("<INPUT TYPE='BUTTON' VALUE='Cerrar'"+
			"onClick='self.close()'>");
	document.writeln("<FORM>\n<CENTER>");


   //escritura de la tabla que representa el calendario

	document.writeln ("<TABLE BORDER=2 ALIGN=CENTER>\n<TR>");


   //escribir la cabecera que incluye el mes y el año del calendario

	document.writeln("<TD ALIGN=CENTER COLSPAN=7 BGCOLOR="+color_fondo+">"+
					"<FONT SIZE="+fuente_numeros+" COLOR="+color_texto_normal+"> "+meses[mes]+" "+ano+
					"</FONT></TD>\n</TR>");


   //escribir la cabecera que indica los dias de la semana

	for (var i=0;i<7; i++){
	     document.writeln("<TD ALIGN=CENTER BGCOLOR="+color_fondo+">"+
		             "<FONT SIZE=3 COLOR="+color_texto_normal+">"+
			     dias[i]+"</FONT></TD>");
	     document.write("</TR>\n<TR>");


   //escribir los dias del mes

	contador_de_dias=1;
	primera=true;
	while (contador_de_dias<=ultimo_dia){
		for (i=0;i<7;i++)
			if ((i<dia_inicial && primera) || contador_de_dias>ultimo_dia)
			    document.writeln("<TD ALIGN=CENTER><FONT SIZE=" +fuente_numeros+
							    "COLOR="+color_texto_normal+
								">&nbsp;</FONT></TD>");
			else{
			    var texto=ver_color(i);
			    document.writeln("<TD ALIGN=CENTER BGCOLOR="+color_fondo+">"+
					    "<A HREF='javascript:window.opener.finalizar("+contador_de_dias+")'>"+"<FONT SIZE="+
						fuente_nuemros+" COLOR="+texto+">"+contador_de_dias+
				        "</FONT></A></TD>");
			    contador_de_dias++;
			}
		primera=false;
		document.writeln ("</TR>\n<TR>");
		}
	document.writeln("</TR>\n</TABLE>\n</HTML>");
	document.close();
	}
    }


   // Abre la ventana de ayuda. Actualiza las variables que indican el mes y el año
   // actual y escribe el calendario correspondiente con estos ultimos valores

function actualizar_calendario(valor){
	
	nueva_ventana=open("","miventana","height=390,width=320,left=330,top=130,alwaysRaised=yes");

	switch (valor){
		case 1: //mes y año actuales
			var hoy=newDate();
			mes_actual=hoy.getMonth();
			ano_actual=hoy.getYear();
			break;
		case 2: //mes siguiente
			if ((mes_actual + 1)/12 == 1){
				ano_actual++;
				mes_actual=0;
			}
			else
	           mes_actual++;
			break;
		case 3: // mes anterior
			if ((mes_actual-1)==-1){
				ano_actual--:
				mes_actual=11;
			}
			else
			   mes_actual--;
			break;
		case 4: // año siguiente
			ano_actual++;
			break;
		case 5: // año anterior
			ano_actual--;
			break;
	}
	calendario(mes_actual,ano_actual);
}
</SCRIPT>

Última edición por andreslosada; 13/03/2003 a las 12:29
  #2 (permalink)  
Antiguo 14/03/2003, 07:01
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 3 meses
Puntos: 1
Hola Andrés :)

Tal vez me equivoque, pero los errores que encontré fueron:

switch (valor) {
case 1: //mes y año actuales
var hoy = new Date();// falta el espacio

case 3: // mes anterior
if ((mes_actual-1)==-1) {
ano_actual--;// dos puntos en lugar de punto y coma


Suerte ;)
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 10:52.