Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    Settare data con Datefield

    In questo modo riesco a settare il componente datefield secondo i nostri standard (gg/mm/yyyy)
    calendario.selectedDate = new Date();

    var mesi = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];

    var oggi = calendario.selectedDate;

    var numero_giorno = oggi.getDate();
    var numero_mese = mesi[oggi.getMonth()];
    var numero_anno = oggi.getFullYear();
    var data_testo = numero_giorno + "/" + numero_mese + "/" + numero_anno;

    var scelta_data = data_testo;
    Ho 2 problemi però:

    1) vorrei che i giorni di una cifra sola fossero di 2, cioè 01/10/2006 e non 1/10/2006

    2) se cambio data, facendo il trace mi da in output sempre la data attuale

    Ho provato,per il primo problema, a creare un array numerico da 1 a 31 come ho fatto per i mesi, ma non funziona...

  2. #2
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870

    Re: Settare data con Datefield

    1) vorrei che i giorni di una cifra sola fossero di 2, cioè 01/10/2006 e non 1/10/2006
    Qui credo di aver risolto...

    Ho fatto un array

    var giorni = ["00","01","03","03","04","05","06","07","08","09", "10","11","12","13","14","15","16","17","18","19", "20","21","22","23","24","25","26","27","28","29", "30"];

    var numero_giorno = giorni[oggi.getDate()];
    E la data me la visualizza a due cifre 09/10/2006, per il secondo però sono ancora in alto mare...

    2) se cambio data, facendo il trace mi da in output sempre la data attuale

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    tutta la pappardella che fai per ottenere il trace della data, lo devi mettere dentro un evento legato al cambiamento di stato del component... nel tuo caso dovrebbe essere una cosa del genere

    codice:
    var obj = new Object();
    obj.change = function(){
    alendario.selectedDate = new Date();
    
    var mesi = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
    
    var oggi = calendario.selectedDate;
    
    var numero_giorno = oggi.getDate();
    var numero_mese = mesi[oggi.getMonth()];
    var numero_anno = oggi.getFullYear();
    var data_testo = numero_giorno + "/" + numero_mese + "/" + numero_anno;
    
    var scelta_data = data_testo;
    }
    calendario.addEventListener("change", obj);
    obj.change();
    ps. ho ripreso il tuo primo codice, se l'ha modificato devi metterci quello modificato dentro alla funzione change()

  4. #4
    Utente di HTML.it L'avatar di Alberto
    Registrato dal
    Oct 2004
    Messaggi
    1,870
    Non funge, posto il codice modificato
    var obj = new Object();
    obj.change = function (){
    calendario.selectedDate = new Date();

    var mesi = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
    var giorni = ["00","01","03","03","04","05","06","07","08","09", "10","11","12","13","14","15","16","17","18","19", "20","21","22","23","24","25","26","27","28","29", "30"];
    var oggi = calendario.selectedDate;

    var numero_giorno = giorni[oggi.getDate()];
    var numero_mese = mesi[oggi.getMonth()];
    var numero_anno = oggi.getFullYear();
    _root.data_testo = numero_giorno + "/" + numero_mese + "/" + numero_anno;
    }
    calendario.addEventListener("change", obj);
    obj.change();
    nel pulsante ho
    on (release) {
    trace(_root.data_testo);
    }
    Dichiarando la variabile come data_testo nel trace avevo undefined, aggiundo _root me la vede, ma ho sempre la data di oggi

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mi confermi che "calendario" è il nome del DateField?

  6. #6

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Alberto
    Si, il nome di istanza del componente DateField è calendario
    c'è una cosa che non mi è chiara, perchè fai --> calendario.selectedDate = new Date();

    se non sbaglio selectedDate restituisce già un oggetto Date, non c'è bisogno di reinizializzarlo

    prova a tagliare fuori dalla funzione change() quella riga di codice

  8. #8

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Alberto


    Era propio calendario.selectedDate = new Date();

    Portandolo fuori dalla funzione ora mi restituisce la data che seleziono

    Grazie dell'aiuto
    c'ho pensato dopo ma... meglio tardi che mai

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 © 2025 vBulletin Solutions, Inc. All rights reserved.