Joomla.it Forum
Componenti per Joomla! => Gestione Form => : Andrea 16 Dec 2010, 17:11:36
-
Salve a tutti, c'č un modo per verificare se una data inserita col datepicker sia maggiore-uguale alla data odierna, in caso contrario mostrare un messaggio di errore?
ho provato una cosa cosė ma non funziona :'(
<input class="cf_datetime required" title="" size="20" id="date_17" name="date_17" type="text" onchange="var datainserita = document.ChronoContact_figlio1.date_17.value;" />
<script type="text/javascript">
if (datainserita!="") {
var splitted = datainserita.split("-");
var dataScelta = new Date();
dataScelta.setFullYear(parseInt(splitted[2]),parseInt(splitted[1]) - 1,parseInt(splitted[0]));
var dataOra = new Date();
if (dataScelta.getTime() < dataOra.getTime()) {
document.write ("errore")
}
}
-
Se vuoi farlo in JavaScript devi creare una funzione javascript e inserirla in Main onLoad/View Code- Form JavaScript: (sotto Forms Code).
i tag <script> non sono ammesi nel form code..
In Form JavaScript: scrivi una roba del genere
// JavaScript Document
function chkDate(datainserita) {
if (datainserita!="") {
var splitted = datainserita.split("-");
var dataScelta = new Date();
dataScelta.setFullYear(parseInt(splitted[2]),parseInt(splitted[1]) - 1,parseInt(splitted[0]));
var dataOra = new Date();
if (dataScelta.getTime() < dataOra.getTime()) {
//document.write ("errore") --> socumet.write genera una nuova pagina html con scritto solo errore..
window.alert('Data Errata');
}
}
}
nel campo input puoi aggiungere la chiamata alla funzione JS cosė:
onchange:chkDate(this.value);
Se invece vuoi farlo in php all'atto dell'invio puoi inserire il test sul valore $_POST['nome_campo'] in Server Side Validation
ciao