Newsgroup: it.comp.lang.javascript
Titolo: R: Pbl con funzioni data

Ho visto il tuo sito e l'errore secondo me e' questo:
Quando definisci la variabile datalavoro questa e' una variabile locale
quindi la devi passare alla funzione elabora_data.
Quindi prova a scrivere qualcosa del genere:
<Script language="JavaScript"><!--
var datalavoro = new Date(document.lastModified);
elabora_data(datalavoro);
--></Script>
naturalmente la funzione elabora_data definiscila cosi:
function(datalavoro){
......
}
se non mi sono spiegato bene scrivimi pure cerchero' di essere piu' chiaro
:-)
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Alessio Palmieri
Home Page : 
www.zampa.superdada.com
                  (Ancora in costruzione)
Email : 
p.al...@superdada.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Innanzitutto ti ringrazio della risposta.
Ho provato la modifica che mi hai proposto, ma adesso mi da un errore quanto
arriva a var nomegiorno = '' ecc.
L'Errore è
'undefinied' non è un oggetto
?????
Visto che non sono ancora un grande esperto di java, cosa vuol dire? Devo
definire diversamente le variabili o cos'altro?
grazie in anticipo...
P.S. appena posso faccio un giro sul tuo sito...
Legge di Naeser: "Si può fare una cosa a
prova di bomba, ma non a prova di iella"
__________________________________________________
"Nembo"   Massimo Becacci   (
ne...@cybermarket.it
)
Da Poggibonsi (SI): 
http://www.dadacasa.com/nembo/

 definire diversamente le variabili o cos'altro?
ATTENZIONE : JavaScript non e' la stessa cosa di Java, sono due cose
diverse!


Nella soluzione che ti avevo postato c'era un errore macroscopico, infatti:
la funzione deve essere definita come:
function elabora_data(datalavoro)
             ^^^^^^ Il nome della funzione e' necessario !
e richiamata con elabora_data(datalavoro)
in pratica questo e' il tuo codice:
[cut]----------------------------------[cut]
......
<script
        language="JavaScript"><!--
 function elabora_data() {
  var nn = datalavoro.getDay();
.....
[cut]-----------------------------------[cut]
devi modificarlo cosi:
<script language="JavaScript"><!--
function elabora_data(datalavoro){
 var nn=.......
quando richiami la funzione il tuo codice e' il seguente:
[cut]----------------------------------[cut]
....
<script language="JavaScript"><!--
 var datalavoro = new Date(document.lastModified);
 elabora_data();
// --></script>
....
[cut]----------------------------------[cut]
devi modificarlo cosi:
<script language="JavaScript"><!--
 var datalavoro = new Date(Date.parse(document.lastModified));
 elabora_data(datalavoro);
// --></script>
Ho provato questa soluzione e funziona.
Il problema era nel fatto che la variabile datalavoro e' definita all'
interno dei tag <Script> dove richiami la funzione, quindi esiste solo all'
interno di questi tag.
La funzione elabora_data e' all' interno di un altra coppia di tag script e
quindi non vede la variabile datalavoro.
Non potendo accedere a questa variabile quando l' interprete Javascript
trova un riferimento a questa la considera come una nuova variabile.
Essendo quindi una nuova variabile (sarebbe + corretto dire un nuovo
oggetto) di tipo Date, per default l' interprete associa ad questa la data
corrente, e' per questo che la tua funzione visualizzava la data corrente e
non la data dell' ultima modifica.
Inoltre per eliminare alcuni errori che browser piu' pignoli possono
visualizzare (leggi Netscape) conviene usare il metodo parse dell' oggetto
Date, infatti document.lastModified restituisce una stringa, il metodo parse
trasforma questa stringa in un oggetto date.
Infine un piccolo consiglio ho visto che per trovare l' anno hai usato il
metodo getYear, poi hai aggiunto 19 davanti, volevo dirti che esiste anche
il metodo getFullYear che ti restituisce la data a 4 cifre (1999..2000)
quindi funziona anche per l' anno 2000!
Saluti


quindi funziona anche per l' anno 2000!
Questa parte dei consigli la metto in pratica subito!
Per il resto, adesso sono non in linea e quindi devo riprovare il tutto dopo
fatto l'upload del sito.
Vi farò sapere
