Os cuento, ¿qué puedo hacer para que este código me devuelva los valores de fInicial y fFinal? Gracias. Os pego el código (sin tabular, lo siento), esta dentro del HEAD:
function Fechas(fInicial,fFinal) {
var f=document.Form.dateField.value
var p = document.miForm.periodo.value;
var array=f.split("/");
var d=parseInt(array[0])
var m=parseInt(array[1])
var y=parseInt(array[2])
//alert('Fecha: '+d+'/'+m+'/'+y+' - '+p)
if (p=="Mensual") {
var f= new Date(y,m-1,d)
fInicial="1/"+(m+1)+"/"+(y);
fFinal="1/"+(f.getMonth())+"/"+(f.getYear());
}
if (p=="Trimestral") {
var f= new Date(y,m-1,d)
var mes=f.getMonth()
if ((mes==1) || ((mes==2) || (mes== 3))) {
fInicial="1/1/"+f.getYear()
fFinal="1/4/"+f.getYear()
}
if ((mes==4) || ((mes==5) || (mes==6))) {
fInicial="1/4/"+f.getYear()
fFinal ="1/7/"+f.getYear()
}
if ((mes==7) || ((mes==8) || (mes==9))) {
fInicial="1/7/"+f.getYear()
fFinal="1/10/"+f.getYear()
}
if ((mes==10) || ((mes==11) || (mes==12))) {
fInicial="1/10/"+f.getYear()
f= new Date(y,m-1,d+1)
fFinal="1/1/"+f.getYear()
}
}
if (p=="Anual") {
var f= new Date(y,m-1,d)
fInicial="1/1/"+f.getYear()
f= new Date(y,m-1,d+1)
fFinal="1/1/"+f.getYear()
}
alert(p+' del '+fInicial+' al '+fFinal);
//return fInicial,fFinal;
}
Este último alert me lo muestra bien. Y luego llamo a la función desde otra función que es:
function saltoPortes(){
Fechas(fInicial,fFinal);}
alert('De '+fInicial+' a '+fFinal);
window.parent.principal.location="proveedores/portes.asp?sqlWhere=WHERE%20'"+fInicial+"'<=%20pro 2002f.fecha%20AND%20pro2002f.fecha<'"+fFinal+"' "
Este alert ya no lo muestra. Si las declaro como globales me muestra "De a " (vacio) y si no las declaro me muestra "De undefined a undefined".
A ver que puedo hacer, soy un novato en el Javascript.