Parti dal fatto che avvisare eventuali errori di compilazione, a mio avviso sono peggio che indirizzare:
Ipotesi campo testo che accetti solo numeri e i due punti:
codice:
<form name="form1" method="post" action="">
<input name="prova" type="text" id="prova" onblur=" if(!this.value.match(/^([0-9{2}])+\:(([0-9]){2})+$/)){alert('Errore formato ammesso hh:mm');this.value=''} ">
</form>
chiaramente non verifica l'esattezza del ora inserita, e al invio verifichi che sia compilato.
Consiglio io inserirei 2 select
codice:
<select name="ora" id="ora">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>:<select name="minuti" id="minuti">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
cosi sei sicuro che il formato sia esatto e corretto.
P.S. fai quote del messaggio prima di copiarlo (lo smile viene inserito dal forum)