Problema Calendário Firefox

5 respostas
A
Olá Pessoal, estou com um problema na minha aplicação eu uso o calendar.js! Qd eue forma a caixa de calendario pro usuario escolher a data q ele quer Pesquisar no IE aparece normal, 01/10/2007, porém no Firefox sai 01/10/107! Esse é o JavaScript da data:
// JavaScript Document

    <!--
	var cont = 0;
	
	function getDt1(){
	dt1=new Date(); 
	var dia = ((dt1.getDate()<10) ? "0" : "")+ dt1.getDate();
	var mes = (dt1.getMonth()+1);
	cal=""+dia+"/"+((((mes)<10) ? "0" : "")+ mes)+
       "/" +dt1.getYear(); 
	cal2="01/"+((((mes)<10) ? "0" : "")+ mes)+
       "/" +dt1.getYear(); 
	
    if((document.form1.data1.value == cal && document.form1.data2.value == cal) || (document.form1.data1.value == "" || document.form1.data2.value == "") || (document.form1.data1.value != cal || document.form1.data2.value != cal2) && (cont == 0)){
	document.form1.data1.value = cal2;
	document.form1.data2.value = cal;
	cont = 1;
	}else{
	document.form1.data1.value = cal;
	document.form1.data2.value = cal;
	cont = 0;
	}	
    }
	
	function getDt2(){ 
    dt1=new Date(); 
	var dia = ((dt1.getDate()<10) ? "0" : "")+ dt1.getDate();
	var mes = (dt1.getMonth()+1);
	cal=""+dia+"/"+((((mes)<10) ? "0" : "")+ mes)+
       "/" +dt1.getYear(); 	   
	document.form1.data1.value = cal;
	document.form1.data2.value = cal;		
    }
	
	function data(){
		
		if(document.form1.data1.value ==""){
			alert("Por favor escolha uma data Inicial");
			document.form1.data1.focus();
			return false;
		}
		if(document.form1.data2.value ==""){
			alert("Por favor escolha uma data Final");
			document.form1.data2.focus();
			return false;
		}
		}
	  
    // -->

Por Favor me ajudem a resolver esse problema chato!
Desde já agradeço

5 Respostas

T

dt.getYear retorna 107 para o ano de 2007. Se for Firefox, então some 1900 ao valor retornado por getYear, ou então use alguma outra rotina do Javascript que retorne com o século e tudo.

A

thingol, eu somei 1900 ao valor retornado por getYear, porém sumiu todo o campo da data!
Achei q era por falta de chave, e ficou 20071900!!
Vc sabe de alguma outra rotina do JavaScript q retorne tudo?
Desde já agradeço

T

Amigo, o seu erro é o mesmo daquele cara que diz que “2” + “2” == “22”.

(Eu sou engenheiro e sei que 2 + 2 é igual a 5, mais ou menos 1. Mas nunca 22.)

Faça isto:

...... + (dt1.getYear() + 1900);
A

Amigo, fiz dessa forma tbm e o ano ficou em 10/10/3907 !

function getDt1(){ dt1=new Date(); var dia = ((dt1.getDate()<10) ? "0" : "")+ dt1.getDate(); var mes = (dt1.getMonth()+1); cal=""+dia+"/"+((((mes)<10) ? "0" : "")+ mes)+ "/" +(dt1.getYear()+1900); cal2="01/"+((((mes)<10) ? "0" : "")+ mes)+ "/" +(dt1.getYear()+1900);

function getDt2(){ dt1=new Date(); var dia = ((dt1.getDate()<10) ? "0" : "")+ dt1.getDate(); var mes = (dt1.getMonth()+1); cal=""+dia+"/"+((((mes)<10) ? "0" : "")+ mes)+ "/" +(dt1.getYear()+1900); document.form1.data1.value = cal; document.form1.data2.value = cal; }

Sinceramente não sei onde arrumar esse problema!

P

Vai ficar 3907 no ie e 2007 no ff.

Para arrumar vc tem q verificar. Se for ie vc nao soma nada, caso contrario vc soma o 1900

Criado 10 de outubro de 2007
Ultima resposta 10 de out. de 2007
Respostas 5
Participantes 3