Back to top

Autore Topic: chronoform controllo data campo datepicker  (Letto 2378 volte)

Offline Andrea

  • Nuovo arrivato
  • *
  • Post: 4
    • Mostra profilo
chronoform controllo data campo datepicker
« il: 16 Dic 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  :'(

Codice: [Seleziona]
    <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")
  }
   
    }

Offline gianlucalog

  • Nuovo arrivato
  • *
  • Post: 19
    • Mostra profilo
Re:chronoform controllo data campo datepicker
« Risposta #1 il: 16 Dic 2010, 17:24:42 »
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
Codice: [Seleziona]
// 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ì:
Codice: [Seleziona]
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

 



Web Design Bolzano Kreatif