HighDots Forums  

Cascata di eventi?

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


Discuss Cascata di eventi? in the Javascript (Italian) forum.



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

Default Cascata di eventi? - 12-23-2004 , 04:28 AM






Son tornato a rompere :-D

Volevo solo sapere se in Javascript gli eventi funzionano in cascata, o no.
In pratica, ho una pagina dove l'utente ha diversi modi per effettuare una
scelta. Per evitare di impazzire, ho deciso che:
1) Un'elemento solo puo' rendere definitiva la scelta: un combo che
sull'evento OnChange fa il submit della form.
2) Tutti gli altri elementi della pagina (qualcuno sparso anche su altri
frame) agiscono sul Combo in questione, cambiandone il valore visualizzato

Ora, e' un sistema che in VB ed in C uso spesso e volentieri, per altro con
ottimi risultati...ma in Javascript non collabora.
Sul Combo ho l'evento OnChange che funziona correttamente usando il mouse.
Pero' se cambio l'elemento selezionato del combo tramite "cboArea.Value =
3", l'evento OnChange non parte...

Suggerimenti?
Gli eventi a catena non esistono in JavaScript?
Ho sbagliato Evento?


Ciao!


--------------------------------
Inviato via http://arianna.libero.it/usenet/

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

Default Re: Cascata di eventi? - 12-23-2004 , 04:33 AM






In data Thu, 23 Dec 2004 09:28:16 GMT, Drizzt ha scritto:

Quote:
In pratica, ho una pagina dove l'utente ha diversi modi per effettuare una
scelta. Per evitare di impazzire, ho deciso che:
1) Un'elemento solo puo' rendere definitiva la scelta: un combo che
sull'evento OnChange fa il submit della form.
2) Tutti gli altri elementi della pagina (qualcuno sparso anche su altri
frame) agiscono sul Combo in questione, cambiandone il valore visualizzato

Pero' se cambio l'elemento selezionato del combo tramite "cboArea.Value =
3", l'evento OnChange non parte...
No, non parte. Questo crea magari problemi (come i tuoi) ma risulta invece
molto comodo in altri casi (se fai il submit della form da javascript, per
esempio, l'onsubmit() non viene eseguito).
Devi richiamare la function che chiama l'onchange della select manualmente
quando cambi il valore (quindi se onchange esegue "StartSubmit()" devi
chiamare questa function in ogni punto da dove modifichi il valore della
select).
Questa è la strada secondo me più immediata.
Alternativa:
Per IE esiste onpropertychange (cercala in msdn) che io ho usato per tag
input, non so se funziona anche per tag select (in teoria sì).
Non so però quale sia il corrispondente w3.

--
"Affacciati affacciati benedici, guardaci
guardaci...guardaci!
Tanto sono quasi duemila anni che stai a guardare!"
E.B.


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

Default Re: Cascata di eventi? - 12-23-2004 , 05:14 AM



On Thu, 23 Dec 2004 09:28:16 GMT, Drizzt wrote:

Quote:
Son tornato a rompere :-D
Almeno fossi una bella donna.. evvabbe'.. ti "sopporteremo"

Quote:
Volevo solo sapere se in Javascript gli eventi funzionano in cascata, o no.
Si.
Ma leggendo quel che scrivi poco sotto, il discorso e' diverso da cio' che
credi.

Quote:
In pratica, ho una pagina dove l'utente ha diversi modi per effettuare una
scelta. Per evitare di impazzire, ho deciso che:
1) Un'elemento solo puo' rendere definitiva la scelta: un combo che
sull'evento OnChange fa il submit della form.
2) Tutti gli altri elementi della pagina (qualcuno sparso anche su altri
frame) agiscono sul Combo in questione, cambiandone il valore visualizzato
Ok.

Quote:
Ora, e' un sistema che in VB ed in C uso spesso e volentieri, per altro con
ottimi risultati...ma in Javascript non collabora.
Generalmente gli event-handler non vengono scatenati se modifichi
proprieta' da javascript; solo se e' l'utente a farlo (quindi tramite gui).

Del resto, questo non dovrebbe affatto causare problemi. Del resto se stai
modificando qualcosa da codice, significa che puoi invocare cio' che ti
serve.

Quote:
Sul Combo ho l'evento OnChange che funziona correttamente usando il mouse.
Esatto.

Quote:
Pero' se cambio l'elemento selezionato del combo tramite "cboArea.Value =
3", l'evento OnChange non parte...
Giustamente. Verrebbe fuori un bordello altrimenti (se ne discusse gia',
anche se non ricordo ne' dove ne' con chi).

Quote:
Suggerimenti?
cboArea.value="3";cboArea.onchange();

Puoi anche definirti una funzione per comodita', volendo anche un setter;
oppure fare direttamente un wrapper.

Quote:
Gli eventi a catena non esistono in JavaScript?
Si, ma gli eventi sono basati sull'interfaccia.
Esempio: Se clicco su un elemento questo mi scatena determinati eventi a
cascata.. onmousedown, onmouseup e infine onclick.
Non solo, gli eventi poi si propagano negli elementi superiori, e cosi'
via.


--
ZER0

~ The Tangent Universe collapsed 5898 days, 4 hours, 32 minutes and 38 seconds ago.

on air ~ "Yoroiden Samurai Troopers - Africa no Hikari"


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.