Newsgroup: it.comp.lang.javascript
Titolo: Variabile oggetto ad una finestra modale

Ciao a tutti.
Da una pagina, chiamo window.showModalDialog passando una variabile come 
parametro:
var param = {
			operazione : operazione,
			oSelect : oSelect
		};
operazione č testo e oSelect + una select.
nella pagina di destinazione i valori sono perfettamente leggibili.
faccio alcune operazioni, dopodichč devo eliminare tutti gli elementi 
della select ed aggiuntere i nuovi.
l'eliminazione funziona:
while (oSelect.options.length > 0) {
	oSelect.options[0] = null;		
}
l'assegnamento di un nuovo option mi da errore!:
for(var i = 0; i < arrChk.length; i++) {
	if (arrChk[i].checked) {
		newOpt = new Option(arrChk[i].attText, arrChk[i].value);
		oSelect.options[oSelect.options.length] = newOpt;//err
	}
}
il metodo l'ho sempre usato. mi viene il dubbio che il problema sia 
dovuto al fatto che sono in una pagina differente rispetto all'origine 
del puntatore; ma perchč la cancellazione funziona?
non posso utilizzare opener perchč č una pagina "generica"
Daniele

 non posso utilizzare opener perchè è una pagina "generica"
Non ho capito. Anche se è generica, in quanto modale sarà pur sempre
richiamata da un'altra pagina no? Perché non puoi usare ugualmente l'opener
(che ben inteso non esiste in una modale, devi passarglielo tu)?
-- 
~ "Nell'anno 1969 è bastata la potenza di calcolo di due Commodore 64 per
mandare con successo una navicella sulla Luna. Nell'anno 2003 è
necessario un Pentium 4 a 2000 Mhz per far funzionare Windows XP.
Qualcosa deve essere andato storto."

 
Perchè è una pagina che serve a più "select" con nomi diversi e quindi 
non potrei fare opener.nomeSelect... mmhhh...
se passo il nome dell'oggetto potrei fare 
opener.document.getElementById("nomeSelect") ?? stai suggrendo questo?

 opener.document.getElementById("nomeSelect") ?? stai suggrendo questo?
Per quanto mi riguarda intendevo solo dire di passare l'opener in aggiunta
ai parametri attuali. Poi, puoi anche decidere se passare il nome della
select o il riferimento come fai ora, quello è irrilevante.
Il codice che dovrai arrivare a ottenere sarà comunque qualcosa tipo
questo:
	var newOpt=opener.document.createElement("option");
	newOpt.value="some value";
	newOpt.text=some text";
	oSelect.options[oSelect.options.length]=newOpt;
L'ultima riga puoi anche scriverla anche diversamente, volendo:
	oSelect.options.add(newOpt);
Come vedi, la creazione dell'elemento option viene demandata al documento
che poi andrà a contenerlo.


On Tue, 13 Sep 2005 09:06:12 +0100, (:- Dan :-) wrote:
.. Ma sono solo io a vedere i tuoi post con l'orario spostato in avanti?
-- 
~ "Nell'anno 1969 č bastata la potenza di calcolo di due Commodore 64 per
mandare con successo una navicella sulla Luna. Nell'anno 2003 č


 che poi andrà a contenerlo.
Grazie Zer0.
Segnati un altro cappuccio. Tanto il collaudo dell'auto è fatto... :-)
Daniele

 .. Ma sono solo io a vedere i tuoi post con l'orario spostato in avanti?
I too
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 
In realtà siete voi ad averli un'ora indietro...
ora sono le 10.30

> In realtą siete voi ad averli un'ora indietro...
anzi, 2 ore indietro

 ora sono le 10.30
Infatti. Ed il tuo post appare come se fossero le l1.30. Ma l'arcano č
presto spiegato. Ti sei "dimenticato" di impostare l'ora legale.


 
ora va meglio?
se non va meglio, vuol dire che il server (che ci aggiorna 
automaticamente le ore) č disallineato..

 ora va meglio?
Si, ma sembrerebbe che tu abbia semplicemente spostato indietro di un ora
il tuo orologio.
Vedo di spiegarmi meglio.
Questo è l'header "date" del tuo post al quale ho risposto precedentemente:
	Date: Tue, 13 Sep 2005 10:30:38 +0100
Questo invece, è l'header del mio reply:
	Date: Tue, 13 Sep 2005 10:38:23 +0200
Come vedi, l'orario bene o male coincide, ma viene poi interpretato in base
al fuso orario. Ed il tuo fuso orario non tiene conto della differenza
dell'ora legale, come vedi è rimasto a +0100.
Anche l'header del tuo messaggio attuale, riporta lo stesso fuso orario:
	Tue, 13 Sep 2005 09:41:35 +0100
Ma con l'orario mandato indietro di un'ora. Ripristina l'orario normale, e
imposta l'ora legale per quanto riguarda il fuso.
-- 
~ "Nell'anno 1969 è bastata la potenza di calcolo di due Commodore 64 per
mandare con successo una navicella sulla Luna. Nell'anno 2003 è


 
Prima ho guardato i miei messaggi ed avevano +0000.
Ora ho messo ora legale e mi spostava avanti l'ora di un'ora; a mano 
l'ho portata indietro.
Ora segna +0100: non è forse giusto? anche in Inghilterra hanno l'ora 
legale.. :-)

 Ora segna +0100: non è forse giusto? 
Ora il tuo header segna orario e fuso corretto:
	Date: Tue, 13 Sep 2005 10:56:30 +0200
I casini che hai sul PC non li voglio sapere, mi basta questo. :D
