Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Número se semana con Javascript

Estas en el tema de Número se semana con Javascript en el foro de Javascript en Foros del Web. Buen dia Tengo el siguiente codigo y lo que necesito es que me de el número de semana del año por Ej: hoy es 1-Oct-2013 ...
  #1 (permalink)  
Antiguo 01/10/2013, 16:54
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años, 6 meses
Puntos: 0
Número se semana con Javascript

Buen dia

Tengo el siguiente codigo y lo que necesito es que me de el número de semana del año por Ej: hoy es 1-Oct-2013 y el número de semana es la 40

Cuando le de click al textbox me ponga el número de semana actual

Espero y puedan ayudarme de antemano muchas gracias

Saludos.

Código HTML:
<script>
function getWeekNr()
{
        var today = new Date();
        Year = takeYear(today);
        Month = today.getMonth();
        Day = today.getDate();
        now = Date.UTC(Year,Month,Day+1,0,0,0);
        var Firstday = new Date();
        Firstday.setYear(Year);
        Firstday.setMonth(0);
        Firstday.setDate(1);
        then = Date.UTC(Year,0,1,0,0,0);
        var Compensation = Firstday.getDay();
        if (Compensation > 3) Compensation -= 4;
        else Compensation += 3;
        NumberOfWeek =  Math.round((((now-then)/86400000)+Compensation)/7);
        return NumberOfWeek;
}


function takeYear(theDate)
{
        x = theDate.getYear();
        var y = x % 100;
        y += (y < 38) ? 2000 : 1900;
        return y;
}
</script>

<form name="form1" method="post" action="">
  <input type="text" name="textfield" id="textfield" onClick="getWeekNr()">
</form> 
  #2 (permalink)  
Antiguo 02/10/2013, 07:48
Avatar de dAvidcA  
Fecha de Ingreso: septiembre-2009
Ubicación: /home/dev/
Mensajes: 73
Antigüedad: 15 años, 2 meses
Puntos: 7
Respuesta: Número se semana con Javascript

Hola Toninito, no miré si el algoritmo estaba bien, al parecer si porque arrojó 40 que es el número de la semana actual.

Para lo del clic al campo debes agregarle en el onclick el this.value, así:

Código HTML:
<form name="form1" method="post" action="">
  <input type="text" name="textfield" id="textfield" onClick="this.value=getWeekNr();">
</form> 
Saludos.

Última edición por dAvidcA; 02/10/2013 a las 07:55
  #3 (permalink)  
Antiguo 02/10/2013, 08:37
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 5 meses
Puntos: 834
Respuesta: Número se semana con Javascript

Toninito, dAvidcA tiene razón: el problema es que no estás haciendo que tu formulario tome el valor de retorno de la función. Él ya te indicó cómo hacerlo. No obstante, te sugiero modernizar un poco todo eliminando la función takeYear, que es obsoleta, y reemplazando la otra por esta:
Código:
<script type="text/javascript">
function getWeekNr(){
	var now=new Date(),i=0,f,sem=(new Date(now.getFullYear(), 0,1).getDay()>0)?1:0;
	while( (f=new Date(now.getFullYear(), 0, ++i)) < now ){
		if(!f.getDay()){
			sem++;
		}
	}
	return sem;
}
alert(getWeekNr());
</script>

Última edición por Panino5001; 02/10/2013 a las 08:50
  #4 (permalink)  
Antiguo 02/10/2013, 10:29
 
Fecha de Ingreso: abril-2010
Mensajes: 40
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Número se semana con Javascript

Excelente dAvidcA, Panino5001

Muchas gracias por sus respuestas funciona excelente

no entiendo porque se me fue a pasar algo tan sencillo en el onClick

Nuevamente gracias Panino5001 por simplificar el codigo que tenia

funciona excelente

saludos.

Etiquetas: javascript+html, javascript-funciones
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:06.