Newsgroup: it.comp.lang.javascript
Titolo: Scelta della data di oggi

 
          Salve, ho una function (che si esegue perfettamente) che seleziona in
automatico in celle <option> la data odierna
ho aggiungo un altro campo data (che ovviamente mi serve per un'altra cosa)
nello stesso formato di quello sopra, e anche in questo volevo fare in modo
da evidenziare la data odierna; nulla la function non funziona....
Ho aggiunto i nuovi campi nella function funzionante, niente.
Ho fatto una nuova function per il nuovo campo della data, niente.
Delucidazioni?
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Delucidazioni?
su cosa?
-- 
"So, I never went back to work for Lieutenant Dan.
Though he did take care of my Bubba-Gump money.
He got me invested in some kind of fruit company"


Perchè nella prima data da scegliere seleziona quella odierna, mentre nella
seconda, no.


 seconda, no.
se non era chiaro dal primo post, esplicito: se non posti il codice, si
puo' dire ben poco



Chiedo scusa, non avevo capito
--------------inizio codice-----------------------
function selMeseAnno()
{
	var oggi = new Date;
	var form = document.forms[0];
	if (form.GIORNO)
	{
		for(i=1; i<=31; i++)
		{
			if(oggi.getDate() == i)
				form.GIORNO.options[i-1].selected = true;
		}
	}
	for(i=0; i<=11; i++)
	{
		if ((oggi.getMonth()+ 1) == i+1)
			form.MESE.options[i].selected = true;
	}
	if (oggi.getYear() == 2004)
			form.ANNO.options[0].selected = true;
	if (oggi.getYear() == 2005)
			form.ANNO.options[1].selected = true;
	if (oggi.getYear() == 2006)
			form.ANNO.options[2].selected = true;
	if (oggi.getYear() == 2007)
			form.ANNO.options[3].selected = true;
	if (oggi.getYear() == 2008)
			form.ANNO.options[4].selected = true;
}
------------------------------fine
codice---------------------------------------------------
Questo funziona, ma ho aggiunto altri 3 campi GIORNO1, MESE1, ANNO1 e
inseriti sotto es.
if (oggi.getYear() == 2008)
form.ANNO.options[4].selected = true;
form.ANNO1.options[4].selected = true;
ma non funziona. (ANNO1...)


 form.ANNO1.options[4].selected = true;
Se non funziona:
a) non hai ANNO1 nella prima form presente nella pagina
b) hai ANNO1 ma non hai 5 options
c) Nel ciclo sopra per qualche motivo non arriva a questo punto e quindi
non esegue il codice
Inoltre quanto sopra esegue SEMPRE la parte di ANNO1 perché non hai
racchiuso tra graffe:
if(....) {
 form.ANNO...
 form.ANNO1....
}
Senza graffe, se l'if restituisce true, viene eseguita solo la riga
immediatamente successiva.
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 ma non funziona. (ANNO1...)
if (condizione)
{
   istruzione 1;
   istruzione 2;
}
else
{
   istruzione 3;
   istruzione 4;
}
if/else accettano un'unica istruzione; per eseguire piu' istruzioni devi
racchiuderle in un blocco (qua siamo alle basi del linguaggio). Provieni
da VB/Delphi?
inoltre e' ridondante ripetere il confronto per ogni elemento; fai un
calcolo diretto:
form.GIORNO1.options[oggi.getDate() - 1].selected = true;
form.MESE1.options[oggi.getMonth()].selected = true;
form.ANNO1.options[oggi.getFullYear() - 2004].selected = true;
posso chiederti con che browser ti funziona (la versione con una sola
data)? Avrei un sospetto...



Explorer 5.0



Erano le graffe :-), ho provato anche a fare il comando suggerito da l'altro
utente senza controllare quello che fosse messo, ma non lo facevo lo stesso.
Grazie a tutti e due...
Posso chiedervi un'altra cosa visto che ci sono?


 Posso chiedervi un'altra cosa visto che ci sono?
Beh, chiedere al newsgroup certo. Se è inerente a questo thread continua
qua, altrimenti aprine uno nuovo.
Felice di esserti stato d'aiuto.
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.