Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Javascript: incrementare una data

    Salve, eccomi con un nuovo interrogativo.
    Devo scrivere una funzione che, al click su di un pulsante (nel mio caso un'immagine, ma non fa differenza) legga la data in formato gg/mm/aaaa presente nel value di un campo di testo di un form e la incrementi di 1 giorno. Ho pensato:

    codice:
    <script language="javascript" type="text/javascript">
    function aggiungigiorno()
    {
    	var datarilevata = document.form1.dataattiva.value;
    	giornodopo = new Date(datarilevata.getTime()+1000*3600*24); //aggiungo un giorno, espresso in millisecondi, alla data datarilevata
    	document.form1.dataattiva.value=giornodopo;
    }
    </script>
    ma non va. Dove sbaglio?
    Grazie a tutti in anticipo.

  2. #2
    Ho risolto, cambiando totalmente strategia. Posto, magari viene utile a qualcuno:

    codice:
    <script language="javascript" type="text/javascript">
    function aggiungigiorno()
    {
    	var campodata = document.form1.dataattiva.value;
    	var separ = campodata.split(/[\/\.\-]/);
    	var giorno = new Date(separ[2], parseInt(separ[1],10)-1, separ[0]);
    	giorno.setDate(giorno.getDate()+1); // giorno sucessivo
    	document.form1.dataattiva.value=giorno.getDate()+"/"+(giorno.getMonth()+1)+"/"+giorno.getYear();
    }
    </script>
    Però vorrei inserire un controllo per evitare che si possa incrementare oltre x giorni.
    Come posso fare?
    (intanto io ci ragiono, perchè in teoria è ovvio come fare ma sto imparando Javascript e sto scoprendo piano piano le istruzioni utilizzabili).

  3. #3
    Ho aggiunto anche il controllo che volevo realizzare...ad esempio 10 giorni dopo la data attuale... tutto ok.
    Posto

    codice:
    <script language="javascript" type="text/javascript">
    function ultimogiorno()
    {
    var campoultimadata = document.form1.oggi.value;
    var separultimadata = campoultimadata.split(/[\/\.\-]/);
    var giornoultimadata = new Date(separultimadata[2], parseInt(separultimadata[1],10)-1, separultimadata[0]);
    giornoultimadata.setDate(giornoultimadata.getDate()+10); // ultimo giorno
    document.form1.dataattiva2.value=giornoultimadata.getDate()+"/"+(giornoultimadata.getMonth()+1)+"/"+giornoultimadata.getYear();
    }
    </script>
    <script language="javascript" type="text/javascript">
    function aggiungigiorno()
    {
    	var campodata = document.form1.dataattiva.value;
    	if (campodata!=document.form1.dataattiva2.value)
    	{
    		var separ = campodata.split(/[\/\.\-]/);
    		var giorno = new Date(separ[2], parseInt(separ[1],10)-1, separ[0]);
    		giorno.setDate(giorno.getDate()+1); // giorno sucessivo
    		document.form1.dataattiva.value=giorno.getDate()+"/"+(giorno.getMonth()+1)+"/"+giorno.getYear();
    		var stringa=giorno.toLocaleString().substr(0,giorno.toLocaleString().length-8);
    	}
    }
    </script>

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.