HighDots Forums  

cambio: creare un nodo con un attributo "onChange"

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


Discuss cambio: creare un nodo con un attributo "onChange" in the Javascript (Italian) forum.



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

Default cambio: creare un nodo con un attributo "onChange" - 05-05-2006 , 07:57 PM






sto provando un nuovo metodo per risolvere il problema nell'altro post.
- intanto però c'è una cosa che non va:

ho creato un nodo di tipo input

var oField=document.createElement("INPUT");

ho settato i vari attributi type, name ecc..

oField.setAttribute("name","fimg"+num);

a questo punto ho provato a creare un attributo "onChange" in questo modo:

oField.setAttribute("onChange","controllo("+num+") ");

(ho pensato che se fossi in html/php sarebbe <input name=fimg$i
onChange=controllo($i) > )

ma non mi parte proprio la funzione controllo... ho fatto dei tests, se la
faccio partire "a mano" funziona tutto alla perfezione... dove sbaglio?
grazie mille.



Reply With Quote
  #2  
Old   
pasch
 
Posts: n/a

Default Re: cambio: creare un nodo con un attributo "onChange" - 05-06-2006 , 06:36 AM






Quote:
oField.setAttribute("onChange","controllo("+num+") ");
mi rispondo da solo, se servisse a qualcuno:

oField.attachEvent("onchange",function(){controllo (num)});




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

Default Re: cambio: creare un nodo con un attributo "onChange" - 05-08-2006 , 03:00 AM



On Sat, 6 May 2006 12:36:02 +0200, pasch wrote:

Quote:
oField.setAttribute("onChange","controllo("+num+") ");

mi rispondo da solo, se servisse a qualcuno:

oField.attachEvent("onchange",function(){controllo (num)});
Questa cosa è IE-only, puoi benissimo fare qualcosa di più standard in questo
modo:

oField.onchange = function(){controllo(num)};

Se vuoi approfondire la questione sulla gestione differente di IE circa gli
event-handler e le classi CSS rispetto agli altri normali attributi; una
veloce ricerca negli archivi di questo NG ti darà tutte le informazioni che
cerchi, ne è stato discusso più di una volta.

N.B.
IE è sottoposto a memory leak nei casi in cui imposti un event-handler nei due
sopracitati modi; se lo fai da dentro una funzione (window.onload compresa),
perché crei una closure. Per evitare ciò, ci sono tre modi: evitare la closure
(impostando una funzione non anonima, ma bensì definita precedentemente);
ricordarsi di rimuovere l'event-handler nell'evento onunload; associare
l'event-handler al di fuori di qualsiasi funzione (ad esempio alla fine della
pagina).

--
"E' un vero peccato che tutte le persone che sanno come far funzionare
il Paese siano troppo occupate a guidare taxi o a tagliare capelli."
(George Burns)



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.