Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Modifica al calendario

  1. #1

    Modifica al calendario

    Non conosco bene la sintassi di Javascript, potreste dirmi cosa modificare per fare in modo che una volta selezionato un mese, questo non venga resettato a reflash di pagina con il mese corrente.
    Grazie per la disponibilità

    <script language="JavaScript">

    function setDate(str) {

    if (str == " ") {
    return;
    }

    mnth1 = document.forms[0].month.value;
    mnth = mnth1;
    mnth++;
    year = document.forms[0].year.value;
    dateStr = str+"/"+mnth+"/"+year;

    dateStr = trim(dateStr);

    document.forms[1].dateField.value = dateStr;
    document.forms[1].dateFields.value = dateStr;
    }//setDate()


    /**
    * The function removes spaces from the selected date.
    */

    function trim(str) {

    res="";

    for(var i=0; i< str.length; i++) {
    if (str.charAt(i) != " ") {
    res +=str.charAt(i);
    }
    }

    return res;

    }//trim()

    /**
    * The method to get the Month name given the Month number of the year.
    */

    function getMonthName(mnth) {

    if (mnth == 0) {
    name = "Gen";
    }else if(mnth==1) {
    name = "Feb";
    }else if(mnth==2) {
    name = "Mar";
    }else if(mnth==3) {
    name = "Apr";
    }else if(mnth==4) {
    name = "Mag";
    } else if(mnth==5) {
    name = "Giu";
    } else if(mnth==6) {
    name = "Lug";
    } else if(mnth==7) {
    name = "Ago";
    } else if(mnth==8) {
    name = "Set";
    } else if(mnth==9) {
    name = "Ott";
    } else if(mnth==10) {
    name = "Nov";
    } else if(mnth==11) {
    name = "Dic";
    }

    return name;

    }//getMonthName()

    /**
    * Get the number of days in the month based on the year.
    */

    function getNoOfDaysInMnth(mnth,yr) {

    rem = yr % 4;

    if(rem ==0) {
    leap = 1;
    } else {
    leap = 0;
    }

    noDays=0;

    if ( (mnth == 1) || (mnth == 3) || (mnth == 5) ||
    (mnth == 7) || (mnth == 8) || (mnth == 10) ||
    (mnth == 12)) {
    noDays=31;
    } else if (mnth == 2) {
    noDays=28+leap;
    } else {
    noDays=30;
    }

    //alert(noDays);
    return noDays;


    }//getNoOfDaysInMnth()

    /**
    * The function to reset the date values in the buttons of the
    * slots.
    */

    function fillDates(dayOfWeek1,noOfDaysInmnth) {

    for(var i=1; i<43; i++) {
    str = "s"+i;
    document.forms[0].elements[str].value=" ";
    }

    startSlotIndx = dayOfWeek1;
    slotIndx = startSlotIndx;

    for(var i=1; i<(noOfDaysInmnth+1); i++) {
    slotName = "s"+slotIndx;

    val="";
    if (i<10) {
    val = " "+i+" ";
    } else {
    val = i;
    }

    document.forms[0].elements[slotName].value = val;
    slotIndx++;
    }

    }//fillDates()


    /**
    * The function that is called at the time of loading the page.
    * This function displays Today's date and also displays the
    * the calendar of the current month.
    */

    function thisMonth() {

    dt = new Date();
    mnth = dt.getMonth(); /* 0-11*/
    dayOfMnth = dt.getDate(); /* 1-31*/
    dayOfWeek = dt.getDay(); /*0-6*/
    yr = dt.getFullYear(); /*4-digit year*/

    //alert("month:"+(mnth+1)+":dayofMnth:"+dayOfMnth+": dayofweek:"+dayOfWeek+":year:"+yr);

    mnthName = getMonthName(mnth)+ " ";
    document.forms[0].month.value = mnth;
    document.forms[0].year.value = yr;
    document.forms[0].currMonth.value = mnth;
    document.forms[0].currYear.value = yr;

    document.forms[0].monthYear.value = mnthName+yr;
    document.forms[1].dateField.value = dayOfMnth+"/"+(mnth+1)+"/"+yr;

    startStr = (mnth+1)+"/1/"+yr;
    dt1 = new Date(startStr);
    dayOfWeek1 = dt1.getDay(); /*0-6*/

    noOfDaysInMnth = getNoOfDaysInMnth(mnth+1,yr);
    fillDates(dayOfWeek1+1,noOfDaysInMnth);


    }//thisMonth()

    /**
    * The function that will be used to display the calendar of the next month.
    */

    function nextMonth() {

    var currMnth = document.forms[0].month.value;
    currYr = document.forms[0].year.value;

    if (currMnth == "11") {
    nextMnth = 0;
    nextYr = currYr;
    nextYr++;
    } else {
    nextMnth=currMnth;
    nextMnth++;
    nextYr = currYr;
    }

    mnthName = getMonthName(nextMnth);
    document.forms[0].month.value=nextMnth;
    document.forms[0].year.value=nextYr;
    document.forms[0].monthYear.value= mnthName+" "+nextYr;

    str = (nextMnth+1)+"/1/"+nextYr;
    dt = new Date(str);
    dayOfWeek = dt.getDay();

    noOfDays = getNoOfDaysInMnth(nextMnth+1,nextYr);

    fillDates(dayOfWeek+1,noOfDays);


    }//nextMonth()

    /**
    * The method to display the calendar of the previous month.
    */

    function prevMonth() {

    var currMnth = document.forms[0].month.value;
    currYr = document.forms[0].year.value;

    if (currMnth == "0") {
    prevMnth = 11;
    prevYr = currYr;
    prevYr--;
    } else {
    prevMnth=currMnth;
    prevMnth--;
    prevYr = currYr;
    }

    str = (prevMnth+1)+"/1/"+prevYr;
    dt = new Date(str);
    dayOfWeek = dt.getDay();

    /***********************************************
    * Remove the comment if do not want the user to
    * go to any previous month than this current month.
    ***********************************************/

    /*

    runningMonth = document.forms[0].currMonth.value;
    rMonth=runningMonth;
    rMonth++;
    runningYear = document.forms[0].currYear.value;
    rYear=runningYear;

    str = (rMonth)+"/1/"+rYear;
    dt1 = new Date(str);

    if (dt.valueOf() < dt1.valueOf()) {
    alert('Cannot Go Before Current Month');
    return;
    }

    */

    /**************************************************
    * End of comment
    **************************************************/

    mnthName = getMonthName(prevMnth);
    document.forms[0].month.value=prevMnth;
    document.forms[0].year.value=prevYr;
    document.forms[0].monthYear.value= mnthName+" "+prevYr;

    noOfDays = getNoOfDaysInMnth(prevMnth+1,prevYr);
    fillDates(dayOfWeek+1,noOfDays);

    }//prevMonth()

    </script>

  2. #2
    nessuno che possa aiutarmi?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Scusa, ma che fa quello script? senza la pagina intorno e' difficile che a qualcuno venga la voglia di reinventarsela per provare...

    Posta un link alla pagina che vuoi modificare...

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    siccome era urgente, ho tagliato la testa al toro, utilizzando un calendario completamente in php.grazie lo stesso comunque.

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.