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

    cambiare valore variabile in modo permanente

    ciao, sto creando un calendario in javascript, e devo poter cambiare il valore del mese cliccando sull'imagine in modo da richiamare una funzione che mi incrementa/decrementa il valore del mese attuale, ma il valore della variabile non resta "salvato".

    ecco il codice
    Codice PHP:
    todayDate=new Date();     
    thisday=todayDate.getDay();     
    thismonth=todayDate.getMonth();     
    thisdate=todayDate.getDate();     
    thisyear=todayDate.getYear();          
    var 
    changemonth=0
             
    function 
    menomese(ID){         
    changemonth=1;              
    thismonth2 ID-1;         
    }          

    if(
    changemonth==1){         
    thismonth thismonth2;     
    }     
    document.write(thismonth); 

  2. #2

    Re: cambiare valore variabile in modo permanente

    Originariamente inviato da danirota
    ciao, sto creando un calendario in javascript, e devo poter cambiare il valore del mese cliccando sull'imagine in modo da richiamare una funzione che mi incrementa/decrementa il valore del mese attuale, ma il valore della variabile non resta "salvato".

    ecco il codice
    Codice PHP:
    todayDate=new Date();     
    thisday=todayDate.getDay();     
    thismonth=todayDate.getMonth();     
    thisdate=todayDate.getDate();     
    thisyear=todayDate.getYear();          
    var 
    changemonth=0
             
    function 
    menomese(ID){         
    changemonth=1;              
    thismonth2 ID-1;         
    }          

    if(
    changemonth==1){         
    thismonth thismonth2;     
    }     
    document.write(thismonth); 
    AIUTOOOOOOOOOOOOOOOO

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Come richiami la funzione? cosa contiene il parametro ID ? a cosa serve changemonth ?

    Con una porzione cosi' minimale di codice non si capisce nulla... se non che probabilmente hai sbagliato la posizione di una parentesi:
    codice:
    function menomese(ID){          
    	changemonth=1;               
    	thismonth2 = ID-1;          
    	if(changemonth==1){          
    		thismonth = thismonth2;      
    	}      
    	alert(thismonth)
    }
    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
    ciao, la funziona la richiamo con un link così
    Codice PHP:
    <a href=\"#\" onclick=\"menomese("+thismonth+")\"><</a> 
    dove thismonth rappresenta il mese corrente (es 10 se siamo in ottobre)

    il parametro ID della funzione menomese è appunto il thismonth che gli passo dal link
    changemonth er auna prova che avvo fatto ma senza risultato...

    ora il problema è che non mi cambia il valore di thismonth, o meglio, lo cambia all'interno della funzione, appena questa finisce torna al valore iniziale,
    cioè se siamo in ottobre thismonth vale 10 chiamo la funzione e melo decrementa (l'alert varrà 9)
    ma appena la funzione finisce thismonth resta inalterato, ovvero resta a 10.

    io ho bisogno di cambiare questo valore per poter "navigare" il calendario

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non puoi usare le variabili javascript all'interno di un tag html... metti solo il nome della variabile globale dove avrai memorizzato il valore corrente

    <

    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

  6. #6
    scusa, il problema delal navigazione l'ho risolto con un altro script, ma ora un altro problemapiù "banale".
    devo mischiare javascript con php per poter selezionare i giorni in cui ci sono gli eventi, ecco il codice

    Codice PHP:
    var ss = 1;      
    for(var xx=day; xx<day+days; xx++, ss++){
                 
    <?php     
    $sql 
    "SELECT * FROM eventi";     
    $res mysql_query($sql);     
    while(
    $row mysql_fetch_array($res)){         
       
    $gg $row["giorno_evento"];         
       
    $mm $row["mese_evento"];         
       
    $aa $row["anno_evento"];     
    ?>              
    if ((ss == <?php echo $gg?>) && (mon == <?php echo $mm?>) && (yea == <?php echo $aa?>)){             
           document.getElementById(xx).innerHTML = "b" + ss;     
                     }else{             
           document.getElementById(xx).innerHTML = ss;         
    }     
    <?php }     ?>
    }
    dove le varibile javascript ss mon e yea sono rispettivamente, giorno (1 2 ...) mese (1, 2...) anno (2010, 2011)...
    il problema è che non funziona l'else del javascript cioè il controllo lo fa giusto ma poi è come se il secondo innerHTML sovrascrivesse il primo

    infatti se blocchi il codice dopo il primo innerHTML = "b" + ss; vedi che stampa correttamente, cioè il giorno es. b12

    ma se lo lasci continuare stamperà solo 12

    perchè??

  7. #7
    ti ringrazio epr l'aiuto, ora ho risolto smanettando con un altri script

    per chi avesso il mio stesso problerma posto il codice che ho usato...

    Codice PHP:
    <script language="javascript">

    var heading = "#ffaaff";
    var bgcolor1 = "#ffdddd";
    var bgcolor2 = "#eeffcc";
    var font1 = "blue";
    var font2 = "#000000";
    var height = "180";
    var width = "250";


    function DaysInMonth(Y, M) {
        with (new Date(Y, M, 1, 12)) {
            setDate(0);
            return getDate();
        }
    }

    function setcal(mon,yea)
    {
        mon=mon+1;
        var days = DaysInMonth(yea,mon);
        var D = new Date(mon+"/01/"+yea);
        var day = D.getDay();
            
        var ar = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
        var df = ar[mon-1];
        df = df+", "+D.getFullYear();
        document.xxx.ddd.value = df;

        var ddf = 41
        
        for(var xx=0; xx<ddf; xx++){
            document.getElementById(xx).innerHTML = "";
        }

        

        var ss = 1; 
        var pss = 1;
        for(var xx=day; xx<day+days; xx++, ss++, pss++){
            document.getElementById(xx).style.background = ""; //coloro tutte le celle uguali, solo dopo gli dò il colore esatto se c'è l'evento, altrimenti non funziona l'if
        <?php
        $sql 
    "SELECT * FROM eventi";
        
    $res mysql_query($sql);
        while(
    $row mysql_fetch_array($res)){
            
    $id_evento $row["id_evento"];
            
    $gg $row["giorno_evento"];
            
    $mm $row["mese_evento"];
            
    $aa $row["anno_evento"];
        
    ?>
        
            if((ss == <?php echo $gg?>) && (mon == <?php echo $mm?>) && (yea == <?php echo $aa?>)){
                ss = "<a href=\"?action=SEL&id_evento=<?php echo $id_evento ?>\">" + ss + "</a>";
                document.getElementById(xx).style.background = "#fff";
            }
        <?php
        
    }
        
    ?>    
            
            document.getElementById(xx).innerHTML = ss;
            ss = pss;        
            
        }
        
    }

    var exd = new Date();
    var monthe = exd.getMonth();
    var yeare = exd.getFullYear();

    function prev()
    {
        monthe = monthe-1;
        if(monthe < 0)
        {
            yeare = yeare-1;    
            monthe = 11;
        }
        
        setcal(monthe, yeare);
        return false;
    }

    function next()
    {
        monthe = monthe+1;
        if(monthe > 11)
        {
            yeare = yeare+1;    
            monthe = 0;
        }
        setcal(monthe, yeare);
        return false;
    }

    function thismon()
    {
        setcal(monthe, yeare);
    }

    document.write("<table width="+width+" height="+height+" cellpadding=1 cellspacing=0 \
            style=\"font-family: arial, verdana; color: "+font1+"; font-size: 12px;\" bgcolor="+bgcolor1+" border=1>\
                <tr bgcolor="+heading+" align=center><td colspan=7>\
                    <table width=100% align=center style=\"color: "+font2+"; font-size: 12px;\" align=center>\
                    <tr align=center><td><a style=\"cursor: pointer;\" onclick=\"return prev()\">Prev</a></td>\
                    <td><form name=xxx style=\"margin: 0px; padding: 0px;\"><input readonly size=12 style=\"font-size: 12px; \
                    font-weight: bold; text-align: center; font-family: san-serif, verdana, arial;\" type=text name=ddd></form></td>\
                    <td><a style=\"cursor: pointer;\" onclick=\"return next()\">Next</a></td></tr></table>\
                </td></tr>\
                <tr bgcolor="+bgcolor2+" align=center><td>Sun</td><td>Mon</td><td>Tue</td><td>Wed</td><td>Thur</td><td>Fri</td><td>Sat</td></tr>");
    document.write("<form name=calen style=\"border: 0px; padding:0px;\">");
    for(var xx=0; xx<6; xx++)
    {
        document.write("<tr>");
        for(var cc=0; cc<7; cc++){
            var dd = xx*7+cc;
            
                document.write("<td align=center id=\""+dd+"\"></td>");        
        }
        document.write("</tr>");
    }

    document.write("</form></table>");

    thismon();

    </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.