Dunque... ho aperto un nuovo topic perchè il problema è diverso da quello che avevo prima e che mi avete aiutato già a risolvere
Il problema adesso è che la funzione per il controllo sulla data (che per inciso non ho scritto io ma l'ho trovata da qualche parte) mi controlla una data inserita in questo modo: GG/MM/AAAA
mentre io ho bisogno che la data sia inviata al database nel modo AAAA/MM/GG perchè lui la vuole così...
Ho provato a correggere la funzione ma non mi funziona
La funzione che ho io è questa:
_____________________________________
function verificadata()
{
var dataverifica;
var dataoutput;
var gginput;
var mminput;
var aaaainput;
var ggoutput;
var mmoutput;
var aaaaoutput;
var datainput=document.getElementById("txtdata").value ;
if (datainput=="")
{
alert ('Immettere una data');
return (false);
}
if (datainput.length!=10)
{
alert ('La data deve essere in formato GG/MM/AAAA');
return (false);
}
gginput=datainput.substr(0,2);
mminput=datainput.substr(3,2);
aaaainput=datainput.substr(6,4);
if(!(numerico(gginput)))
{
alert ('Il giorno inserito non è in formato numerico');
return (false);
}
if(!(numerico(mminput)))
{
alert ('Il mese inserito non è in formato numerico');
return (false);
}
if(!(numerico(aaaainput)))
{
alert ('L`anno inserito non è in formato numerico');
return (false);
}
dataverifica =new Date(aaaainput,mminput-1,gginput)
dalla data creata viene ricavato l'anno, il mese ed il giorno (il mese è incrementato
di 1 per restituire il mese nel formato standard)
aaaaoutput=dataverifica.getFullYear().toString();
mmoutput=(dataverifica.getMonth()+1).toString();
ggoutput=dataverifica.getDate().toString();
if (mmoutput.length<2)
mmoutput="0"+mmoutput;
if (ggoutput.length<2)
ggoutput="0"+ggoutput;
dataoutput=ggoutput+"/"+mmoutput+"/"+aaaaoutput;
if (datainput!=dataoutput) {
alert('La data inserita non è corretta');
return (false);
}
else {
return (true);
}
}
_______________________________________
Io avrei provato a cambiare la parte:
gginput=datainput.substr(0,2);
mminput=datainput.substr(3,2);
aaaainput=datainput.substr(6,4);
in
aaaainput=datainput.substr(0,4);
mminput=datainput.substr(5,2);
gginput=datainput.substr(8,2);
e anche:
dataoutput=ggoutput+"/"+mmoutput+"/"+aaaaoutput;
in
dataoutput=aaaaoutput+"/"+mmoutput+"/"+ggoutput;
ma con queste modifiche, quando vado a inserire una data del tipo 2005/12/12 mi dice che il mese non è in formato numerico... ho sicuramente sbagliato/dimenticato qualcosa ma non riesco a capire cosa![]()