Ciao Galex,
tu fai un confronto tra stringhe e non tra date... dovresti verificare che la data inserita sia valida, tipo in formato gg/mm/aaaa e se la stringa che rappresenta la data è valida la trasformi in una variabile di tipo data e la confronti con la data odierna.
Ti faccio un esempio completo
codice:
<HTML>
<HEAD>
<script language="javascript">
function y2k(number) {
return (number < 1000) ? number + 1900 : number;
}
function dataValida(txt){
var re = /^\d{1,2}\/\d{1,2}\/\d{4}$/
if(re.test(txt)){
var adata = txt.split('/');
var gg = parseInt(adata[0],10);
var mm = parseInt(adata[1],10);
var aaaa = parseInt(adata[2],10);
var xdata = new Date(aaaa,mm-1,gg)
if((y2k(xdata.getYear())==aaaa) && (xdata.getMonth()==mm-1) && (xdata.getDate()==gg))
return xdata
else return false
}else return false
}
function test(txt){
var oggi = new Date()
oggi = new Date(y2k(oggi.getYear()),oggi.getMonth(),oggi.getDate())
var xdata = dataValida(txt)
if(xdata){
if(xdata<oggi){
alert('Data minore della data odierna!')
return false
}
else{
alert('Data OK')
return true
}
}
else{
alert('Data non valida!')
return false
}
}
</script>
</HEAD>
<BODY>
<form name="NomeForm">
inserire una data maggiore o uguale a oggi (formato gg/mm/aaaa)
<input type="text" name="data">
<input type="button" value="test" onclick="test(this.form.data.value)">
</form>
</BODY>
</HTML>
se ti servono chiarimenti chiedi pure