Se i campi fossero 2 converrebbe smembrare la funzione in più funzioni
codice:
<HTML>
<HEAD>
<script language="javascript">
function verificaData(tt){
RE = /^\d{1,2}\/\d{1,2}\/\d{4}$/
strData = tt.value
if(RE.test(strData)){
aData = strData.split('/')
aData[0] = parseInt(aData[0],10)
aData[1] = parseInt(aData[1],10)
aData[2] = parseInt(aData[2],10)
dataTest = new Date(aData[2],(aData[1]-1),aData[0])
return (dataTest.getDate()==aData[0] && dataTest.getMonth()==(aData[1]-1) && dataTest.getFullYear()==aData[2])
}
else return false
}
function ConvertiFormato(strData){
aData = strData.split('/')
aData[0] = (parseInt(aData[0],10)<10)?'0'+parseInt(aData[0],10):parseInt(aData[0],10)
aData[1] = (parseInt(aData[1],10)<10)?'0'+parseInt(aData[0],10):parseInt(aData[1],10)
return aData[2]+aData[1]+aData[0]
}
function verificaDate(ff){
msg=''
if(!verificaData(ff.data))msg+='La prima data non è valida\n'
if(!verificaData(ff.data1))msg+='La seconda data non è valida\n'
if(msg!=''){
alert(msg)
return false
}
else{
ff.data.value = ConvertiFormato(ff.data.value)
ff.data1.value = ConvertiFormato(ff.data1.value)
return true
}
}
</script>
</HEAD>
<BODY>
<form onsubmit="return verificaDate(this)">
<input type="text" name="data"><input type="text" name="data1"><input type="submit" value="submit">
</form>
</BODY>
</HTML>
Io però farei solo i controlli di validità lato client e trasformerei il formato lato server...
Ciao ciao