Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194

    Ordine compilazione calendario Jquery Datepicker

    Buongiorno a tutti,
    avrei bisogno di aiuto per migliorare l'esperienza utente nella compilazione della data di nascita.
    Ho usato Jquery Datepicker pensando fosse più elegante e comodo, in realtà mi trovo male ma prima di cambiare soluzione vorrei capire se c'è modo di aggirare il problema.

    Il problema sta nell'ordine richiesto per la compilazione, finché non clicco sul giorno il campo non prende le modifiche di anno e mese. Se voglio modificare il mese o l'anno devo cliccare nuovamente sul giorno.
    E' piuttosto ingannevole perché gli utenti velocemente compilano i campi senza accorgersi che l'anno di nascita non si è aggiornato.

    Grazie mille.

    codice:
    $.datepicker.regional['it'] = {
        closeText: 'Chiudi', // set a close button text
        currentText: 'Oggi', // set today text
        monthNames: ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], // set month names
        monthNamesShort: ['Gen','Feb','Mar','Apr','Mag','Giu','Lug','Ago','Set','Ott','Nov','Dic'], // set short month names
        dayNames: ['Domenica','Luned&#236','Marted&#236','Mercoled&#236','Gioved&#236','Venerd&#236','Sabato'], // set days names
        dayNamesShort: ['Dom','Lun','Mar','Mer','Gio','Ven','Sab'], // set short day names
        dayNamesMin: ['Do','Lu','Ma','Me','Gio','Ve','Sa'], // set more short days names
        dateFormat: 'd/MM/yy' // set format date
    };
    $.datepicker.setDefaults($.datepicker.regional['it']);
    codice HTML:
    <div class="nato_il">
          <span>Nato il <b style="color:red">*</b></span>
          <input class="input_registrazione" id="datepicker" name="nato_il" required />
          <input type="hidden" id="giorno" name="DDN_Giorno" />
          <input type="hidden" id="mese" name="DDN_Mese" />
          <input type="hidden" id="anno" name="DDN_Anno" />
         </div>
    codice:
    $('#datepicker').datepicker({
      changeMonth: true,
      changeYear: true,
      yearRange: "-80:-10",
      //maxDate: '-11y',
      onSelect: function(dateText, inst) {
       var pieces = dateText.split('/');
       $('#giorno').val(pieces[0]);
       $('#mese').val(pieces[1]);
       $('#anno').val(pieces[2]);
      }
     })

  2. #2
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    590
    il campo lo definisci tipo quelli che uso io..
    codice:
       <input type="text" id="dataregistrazione" name="dataregistrazione" size=20  value="<%=dataregistrazione%>" style="text-align:center" />
    ...
    a parte il codice asp naturalmente.... perchè puoi usare qil linguaggio che ti pare...
    Ultima modifica di vic53; 26-09-2017 a 15:23
    Vic53

  3. #3
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    590
    metti a inizio programma nel body la def. jquery
    codice:
    <script>
    $(function() {
      $("#dataregistrazione").datepicker({ dateFormat: "dd/mm/yy" }).val();
    });
    </script>
    Vic53

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Quote Originariamente inviata da vic53 Visualizza il messaggio
    il campo lo definisci tipo quelli che uso io..
    codice:
       <input type="text" id="dataregistrazione" name="dataregistrazione" size=20  value="<%=dataregistrazione%>" style="text-align:center" />
    ...
    a parte il codice asp naturalmente.... perchè puoi usare qil linguaggio che ti pare...

    <script>
    $(function() {
    $("#dataregistrazione").datepicker({ dateFormat: "dd/mm/yy" }).val();
    });
    </script>

    Scusa ma nella prima parte non ti seguo, è un semplice campo input, in che modo dovrebbe definire l'ordine di presa in carico?

    Il dateFormat è già definito e correttamente visuaizzato

  5. #5
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    590
    Mi puoi spiegare cosa deve inserire l'utente per mettere la sua data di nascita se non una data e magari sceglierla dal calendario? ...
    il calendario jquery quando modifichi il campo modifica anche il calendario per esempio se cambi l'anno, immediatamente cambia il grafico del calenndario... e vale per i campi giorno,mese e anno naturalmente... quin di non capisco la costruzione dei campi cha hai presentato... dopo l'input puoi prelevare i valori da javascript tranquillamente dalla data completa...
    per il fatto invece che lutente omette di correggere l'anno, perchè non imposti la "data yy/mm/dd"
    codice:
    <script>
    $(function() {
      $("#dataregistrazione").datepicker({ dateFormat: "yy/mm/dd" }).val();
    });
    </script>
    cosi l'utente è costretto a mettere il suo anno di nascita per primo... e quindi lo cambia..
    Ultima modifica di vic53; 26-09-2017 a 19:23
    Vic53

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    Quote Originariamente inviata da vic53 Visualizza il messaggio
    Mi puoi spiegare cosa deve inserire l'utente per mettere la sua data di nascita se non una data e magari sceglierla dal calendario? ...
    il calendario jquery quando modifichi il campo modifica anche il calendario per esempio se cambi l'anno, immediatamente cambia il grafico del calenndario... e vale per i campi giorno,mese e anno naturalmente... quin di non capisco la costruzione dei campi cha hai presentato... dopo l'input puoi prelevare i valori da javascript tranquillamente dalla data completa...
    No, non so se succede per il fatto di aver abilitato la scelta rapida di mese ed anno, invece di scorrere con le frecce, ma di fatto finché non si sceglie il giorno la data nel campo input non viene aggiornata. Se da 26/09/2016 voglio 26/09/2017 non mi basta cambiare l'anno ma devo riselezionare il giorno.

  7. #7
    Utente di HTML.it L'avatar di vic53
    Registrato dal
    Oct 2010
    residenza
    Fonte Nuova (Roma)
    Messaggi
    590
    Se clicchi su giorno si chiude il grafico calendario, ma se imposti anno/mese/giorno se cambi anno il calendario non si chiude e quindi l'utente puo scegliere mese e giorno dal grafico poi se ti serve la data nel formato dd/mm/yyyy la prendi dopo l'input e la giri, basta che sai che la data è nel formato yyyy/mm/dd ... secondo me è la scelta piu semplice e indolore
    Vic53

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2014
    Messaggi
    194
    La data è già nel formato g/m/y ed splittata su tre campi input.

    Quello che mi serve è aggiornare il campo input al cambio di anno e mese senza aspettare la chiusura del calendario.
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.