HighDots Forums  

Variabile oggetto ad una finestra modale

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss Variabile oggetto ad una finestra modale in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
ZER0
 
Posts: n/a

Default Re: Variabile oggetto ad una finestra modale - 09-12-2005 , 11:53 AM






On Mon, 12 Sep 2005 17:41:01 +0100, (:- Dan :-) wrote:

[snip]
Quote:
l'assegnamento di un nuovo option mi da errore!:
Ne abbiamo già discusso in questa sede di tale problema.

Quote:
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
}
}
In pratica tu hai creato un oggetto option in uno scope, e poi vuoi
assegnarlo ad una select che NON fa parte dello stesso scope.

Soluzione: spostare la creazione dell'elemento nello scope corretto.

Quote:
ma perchè la cancellazione funziona?
Perché non crei nulla.

Quote:
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."



Reply With Quote
  #2  
Old   
(:- Dan :-)
 
Posts: n/a

Default Variabile oggetto ad una finestra modale - 09-12-2005 , 12:41 PM






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

Reply With Quote
  #3  
Old   
ZER0
 
Posts: n/a

Default Re: Variabile oggetto ad una finestra modale - 09-13-2005 , 03:35 AM



On Tue, 13 Sep 2005 09:06:12 +0100, (:- Dan :-) wrote:

[snip]
Quote:
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)?

Perchè è una pagina che serve a più "select" con nomi diversi e quindi
non potrei fare opener.nomeSelect... mmhhh...
E chi ti ha detto di fare questo? Puoi lasciare i parametri che hai, non è
quello il punto, ma dovresti passare anche il riferimento alla opener.
Primo, perché è utile in diversi casi; secondo perché ti serve in QUESTO
caso.

Quote:
se passo il nome dell'oggetto potrei fare
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.

--
~ "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."



Reply With Quote
  #4  
Old   
ZER0
 
Posts: n/a

Default [OT] Datetime dei post (was: Variabile oggetto ad una finestra modale) - 09-13-2005 , 03:36 AM



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 è
necessario un Pentium 4 a 2000 Mhz per far funzionare Windows XP.
Qualcosa deve essere andato storto."


Reply With Quote
  #5  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: [OT] Datetime dei post - 09-13-2005 , 03:56 AM



In data Tue, 13 Sep 2005 09:36:42 +0200, ZER0 ha scritto:

Quote:
.. 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.


Reply With Quote
  #6  
Old   
(:- Dan :-)
 
Posts: n/a

Default Re: Variabile oggetto ad una finestra modale - 09-13-2005 , 04:06 AM




Quote:
Ne abbiamo già discusso in questa sede di tale problema.

In pratica tu hai creato un oggetto option in uno scope, e poi vuoi
assegnarlo ad una select che NON fa parte dello stesso scope.

Soluzione: spostare la creazione dell'elemento nello scope corretto.

Ok, avevo letto qualcosa giusto pochi giorni fa ma non avevo capito
potesse ricondursi a questo problema. Mi sarà sfuggito..

Quote:
ma perchè la cancellazione funziona?


Perché non crei nulla.


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)?

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?


Reply With Quote
  #7  
Old   
ZER0
 
Posts: n/a

Default Re: [OT] Datetime dei post - 09-13-2005 , 04:38 AM



On Tue, 13 Sep 2005 10:30:38 +0100, (:- Dan :-) wrote:

[snip]
Quote:
In realtà siete voi ad averli un'ora indietro...
Si, tutto l'universo ce l'ha un'ora indietro?

Quote:
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.

--
~ "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."



Reply With Quote
  #8  
Old   
(:- Dan :-)
 
Posts: n/a

Default Re: [OT] Datetime dei post - 09-13-2005 , 04:41 AM




Quote:
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..


Reply With Quote
  #9  
Old   
(:- Dan :-)
 
Posts: n/a

Default Re: Variabile oggetto ad una finestra modale - 09-13-2005 , 04:46 AM



Quote:
Come vedi, la creazione dell'elemento option viene demandata al documento
che poi andrà a contenerlo.
Grazie Zer0.
Segnati un altro cappuccio. Tanto il collaudo dell'auto è fatto... :-)

Daniele


Reply With Quote
  #10  
Old   
ZER0
 
Posts: n/a

Default Re: [OT] Datetime dei post - 09-13-2005 , 04:48 AM



On Tue, 13 Sep 2005 09:41:35 +0100, (:- Dan :-) wrote:

Quote:
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?
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 è
necessario un Pentium 4 a 2000 Mhz per far funzionare Windows XP.
Qualcosa deve essere andato storto."



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.