Perchè non funziona la funzione if con la variabile getdate... ?

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Buongiorno e rieccomi

stavolta è una cosa semplice e piccola ...

ho questo codice :

HTML:
<html>
<body>

<script type="text/javascript">
var oggi=new Date();
var giorno=oggi.getDate();
var mese=oggi.getMonth()


totale=(mese+1+"."+giorno)

if (giorno == 10||20||30) { totale= (mese+1+"."+giorno+""+1)}

document.write("valore" +" "+[totale])


</script>

</body>
</html>

Ho fatto cosi per evitare che magari il giorno 30 agosto uscisse 8.30 e se assegnato questo al contatore di un array tipo frasi[8.30] mi leggesse come frasi[8.3],
Ma non funziona, mi esce sempre il numero 1 dopo qualsiasi giorno del mese..
Non avrebbe dovuto farli solo per i giorni : 10, 20, 30 ?

Grazie per eventuali risposte . Domenico
 
if (giorno == 10||20||30) {
totale= (mese+1+"."+giorno+""+1)
}
la sintassi corretta della if è questa:
Codice:
if (giorno == 10 || giorno ==20 || giorno ==30) { 
                totale= (mese+1+"."+giorno+""+1)
            }
ma non ho capito cosa vuoi ottenere
 
Ultima modifica:
Ciao e ringraziandoti prima cosa per la risposta, mi spiego subito cosa voglio ottenere,
allora avendo fatto uno script per le citazioni giornaliere ho seguito il tuo consiglio di associare il mese e il giorno al contatore delle frasi da immettere, cioè ad esempio oggi deve venire : frasi[830].
Ma ciò poteva creare problemi nel caso di due cifre uguali per giorni diversi, ad esempio :
1 novembre e 11 gennaio, entrambi avrebbero dato : frasi[111], allora onde evitare ciò ho messo un puntino per dividere mese e giorno cosi si avrebbe frasi[11.1] e frasi[1.11].
ma non avevo calcolato che come nel caso di oggi frasi[8.30] il linguaggio non mi considerava lo 0 finale e ho dovuto escorgitare altro metodo, infatti ho aggiunti a tutti il numero 1 finale .
Ma non riuscivo a capire cmq la procedura dell'if perchè non mi andava e ho chiesto.
Spero di essere stato chiaro.
Ciao . Domenico.
 
Non ti serve l'if, il problema non è li

Se aggiungi il punto all'indice dell'array devi racchiuderlo tra apici poiche diventa una stringa e non piu un numero

HTML:
<html>
    <body>
        <script type="text/javascript">
            var oggi=new Date();
            var giorno=oggi.getDate();
            var mese=oggi.getMonth();
            
            var array = new Array();
            array['8.30'] = "30 Agosto";

            var totale=(mese+1+"."+giorno);

            document.write(array[totale]);

        </script>
    </body>
</html>
 
Ecco la soluzione più semplice io sono bravo ad evitarla.... eppure l'ho letta la definizione di come si definisce una variabile stringa... vabbè.. mea culpa....

La cosa bella è che alla fine trovo sempre il metodo più lungo e farraginoso....
Grazie davvero.... e scusa se a volte faccio domande quasi scontate.... :)
Domenico.
 

Discussioni simili