Foros del Web » Programando para Internet » Javascript »

pasar parametros...a una misma funcion

Estas en el tema de pasar parametros...a una misma funcion en el foro de Javascript en Foros del Web. Saludos a todos...estoy tratanto de hacer algo que filtre las fechas por periodos contables... Código: <table width="90%" border="1" align="center" cellpadding="2" cellspacing="0"> <tr align="center"> <td colspan="2"><label ...
  #1 (permalink)  
Antiguo 28/11/2012, 14:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
pasar parametros...a una misma funcion

Saludos a todos...estoy tratanto de hacer algo que filtre las fechas por periodos contables...

Código:
  <table width="90%" border="1" align="center" cellpadding="2" cellspacing="0">
    	<tr align="center">
        	<td colspan="2"><label onclick="fncPeriodoM();">Mensual</label></td>
        	<td colspan="2"><label onclick="fncPeriodoT();">Trimestral</label></td>
        	<td width="19%" colspan="2"><label onclick="fncPeriodoS();">Semestral</label></td>
        	<td colspan="2"><label onclick="fncPeriodoA();">Anual</label></td>
        	<td width="15%"><label onclick="fncPeriodoP();">Personalizado</label></td>
        </tr>
        <tr>
        	<td width="6%" align="center"><label onclick="anterior('m');">&lt;&lt;</label></td>
        	<td width="9%" align="center"><label onclick="siguiente('m');">&gt;&gt;</label></td>
        	<td width="21%" align="center"><label onclick="anterior('t');">&lt;&lt;</label></td>
        	<td width="15%" align="center"><label onclick="siguiente('t');">&gt;&gt;</label></td>
        	<td align="center"><label onclick="anteriorS();">&lt;&lt;</label></td>
        	<td align="center"><label onclick="siguienteS();">&gt;&gt;</label></td>
        	<td width="8%" align="center"><label onclick="anterior('a');"> &lt;&lt; </label></td>
       	  <td width="7%" align="center"><label onclick="siguiente('a');"> &gt;&gt; </label></td>
        	<td>&nbsp;</td>
        </tr>
        <tr>
          <td colspan="9" align="center">Desde
            <input type="text" name="Desde" id="Desde" />
Hasta
<input type="text" name="Hasta" id="Hasta" /></td>
        </tr>
    </table>

AQUI EL JS

Código:
var Fecha = new Date();
var Ano = Fecha.getFullYear();
var Mes = (Fecha.getMonth()+ 1);

//PERIODO MENSUAL
function fncPeriodoM() 
{
	Desde.value = "1/" + Mes + "/" + Ano;
	
	if (Mes == "1" | Mes == "3" | Mes == "5" | Mes == "7" | Mes == "8" | Mes == "10" | Mes == "12") 
		{Hasta.value = "31/" + Mes + "/" + Ano;}
	else if (Mes == "2") 
		{Hasta.value = "28/" + Mes + "/" + Ano;}
	else 
		{Hasta.value = "30/" + Mes + "/" + Ano;	}
}
//PERIODO TRIMESTRAL
function fncPeriodoT() 
{ 
	if(Mes == "1" | Mes == "2" | Mes == "3")
		{Desde.value = "1/" + "1" +"/" + Ano;}
	if (Mes == "1" | Mes == "2" | Mes == "3")
		{Hasta.value = "31/" + "3" +"/" + Ano;}
		
	if(Mes == "4" | Mes == "5" | Mes == "6")
		{Desde.value = "1/" + "4" +"/" + Ano;}
	if (Mes == "4" | Mes == "5" | Mes == "6")
		{Hasta.value = "30/" + "6" +"/" + Ano;}
		
	if(Mes == "7" | Mes == "8" | Mes == "9")
		{Desde.value = "1/" + "7" +"/" + Ano;}
	if (Mes == "7" | Mes == "8" | Mes == "9")
		{Hasta.value = "30/" + "9" +"/" + Ano;}

	if(Mes == "10" | Mes == "11" | Mes == "12")
		{Desde.value = "1/" + "10" +"/" + Ano;}
	else (Mes == "10" | Mes == "11" | Mes == "12")
		{Hasta.value = "31/" + "12" +"/" + Ano;}
}
//PERIODO SEMESTRAL
function fncPeriodoS() 
{ 
 	if(Mes == "1" | Mes == "2" | Mes == "3" | Mes == "4" | Mes == "5" | Mes == "6")
		{Desde.value = "1/" + "6" +"/" + Ano;}
	if (Mes == "1" | Mes == "2" | Mes == "3" | Mes == "4" | Mes == "5" | Mes == "6")
		{Hasta.value = "30/" + "6" +"/" + Ano;}
		
	if(Mes == "7" | Mes == "8" | Mes == "9" | Mes == "10" | Mes == "11" | Mes == "12")
		{Desde.value = "1/" + "7" +"/" + Ano;}
	else (Mes == "7" | Mes == "8" | Mes == "9" | Mes == "10" | Mes == "11" | Mes == "12")
		{Hasta.value = "31/" + "12" +"/" + Ano;}
}

//PERIODO ANUAL
function fncPeriodoA()
{
	Desde.value= "1/" + "1/" + Ano;
		{Hasta.value = "31/" + "12" + "/" + Ano;}
}

//PERIODO PERSONALIZADO
function fncPeriodoP() 
{
	Desde.value = "/" + Mes + "/" + Ano;
	
	if (Mes == "1" | Mes == "3" | Mes == "5" | Mes == "7" | Mes == "8" | Mes == "10" | Mes == "12") 
		{Hasta.value = " /" + Mes + "/" + Ano;}
	else if (Mes == "2") 
		{Hasta.value = "28/" + Mes + "/" + Ano;}
	else 
		{Hasta.value = "/" + Mes + "/" + Ano;	}
}



//PAGINADOR PERIODO MENSUAL
function anterior(m) 
{
	Mes = (parseInt(Mes) - 1);
	if (Mes == "0")
		{
			Mes = "12";
			Ano = Ano - 1;
		}
	fncPeriodoM();
}
function siguiente(m) 
{
	Mes = (parseInt(Mes) + 1);
	if (Mes == "13")
		{
			Mes = "1";
			Ano = Ano + 1;
		}
	fncPeriodoM();
}


//PAGINADOR PERIODO TRIMESTRAL
function anterior(t) 
{
	Mes = (parseInt(Mes) - 3);
	if (Mes == "0")
		{
			Mes = "0";
 		}
	 if(Mes > 12)
	 	{
			Mes = Mes -3;
			Ano = Ano - 1;
		}
	fncPeriodoT();
}
function siguiente(t) 
{
	Mes = (parseInt(Mes) + 3);
	if (Mes < 12)
		{	
			Mes = Mes + 3;
			Ano = Ano + 1;
 		}
		 
	fncPeriodoT();
}
 
//PAGINADOR PERIODO SEMESTRAL

 function anteriorS() 
{
	Mes = (parseInt(Mes) - 6);
	if (Mes == "1")
		{
 			Mes = Mes + 6;
		}
	 
	fncPeriodoS();
}
function siguienteS() 
{
	Mes = (parseInt(Mes) + 6);
	if (Mes = "12")
		 
	fncPeriodoS();
}


//PAGINADOR PERIODO ANUAL
function anteriorA() 
{
	Ano = (parseInt(Ano) - 1);
	if (Ano == "0")
		{
 			Ano = Ano + 1;
		}
	 
	fncPeriodoA();
}
function siguienteA() 
{
	Ano = (parseInt(Ano) + 1);
	if (Mes = "12")
		 
	fncPeriodoA();
}
el problema esta en que en periodo trimestral me resta bien el valor de "Desde" pero el hasta lo deja igual, me gustaria que se fuera restanto cada tres meses tambien...y la otra es...como puedo hacer para poder pasar los parametros al boton siguientes y anterior parano repetir codigo
  #2 (permalink)  
Antiguo 28/11/2012, 16:06
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: pasar parametros...a una misma funcion

buenas,
fíjate que estas sobre escribiendo algunas funciones. por ejemplo, anterior y siguiente. yo te recomendaría de hacer una sola función algo más genérico y por parámetro le pasas el modo de operar: mensual, anual, etc. adicionalmente, te recomendaría que trabajes directamente operando con un objeto Date. no he mirado detalladamente el código, pero ciertamente que es muy redundante, además de que estás operando a base de string. intenta rehacerlo todo.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 28/11/2012, 17:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: pasar parametros...a una misma funcion

eso es lo q necesito, q alguien por favor me ayude para simplicar el codigo de "anterior, siguiente", pues no manejo mucho el asunto de pasar los parametros a esas funciones...

Etiquetas: funcion, input, js, botones
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 13:08.