Newsgroup: it.comp.lang.javascript
Titolo: problema onblur

function Focus()
{
//alert ("aa");
var inp=document.getElementsByTagName("input");
  for(i=0;i<inp.length;i++)
  {
   if ( (inp[i].type!="button") && (inp[i].type!="submit") &&
(inp[i].type!="reset") )
   {
   inp[i].style.backgroundColor="#FFC";
   inp[i].onfocus=function(){this.style.backgroundColor="yellow"};
   inp[i].onblur=function(){this.style.backgroundColor="#FFC"};
   }
  }
} 
uso questa funzione per evidenziare le caselle di input ma poi se in un
campo metto un'altro onblur questo viene ignorato
come posso evitare questo inghippo?
ciao a tutti e buon lavoro
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 campo metto un'altro onblur questo viene ignorato
Mi sa che non vi è modo di sommare 2 function (se metti un secondo onblur
questo sovrascrive la prima function)...fanne una terza e richiamale
entrambe.
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

 come posso evitare questo inghippo?
In IE usando attachEvent, nei browser standard usando addEventListener.
Puoi trovare informazioni a riguardo qui:
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp
http://www.mozilla.org/docs/dom/domref/
Questi sono i metodi "puliti" per fare ciò che chiedi.
Un altro approccio sarebbe verificare se esiste un precedente handler, e in
quel caso salvarlo all'interno dell'oggetto con un diverso nome, da poi
richiamare dentro la funzione del nuovo handler.
-- 
~ "When you have eliminated the impossible, whatever remains,
however improbable, must be the truth." (S.H.)

 richiamare dentro la funzione del nuovo handler.
 anzitutto grazie per la risposta
per i metodi puliti adesso vadoa studiare un pò
per l'aaproccio alternativo non ho capito come posso fare 
mi potresti fare un esempio semplice
grazie ancora e spero di avere qualche delucidazione


 richiamare dentro la funzione del nuovo handler.
function attacca(ids,e) {
  if(navigator.appName=="Microsoft Internet Explorer"){
    document.getElementById(ids).attachEvent('on'+e,rel);
    }
  else if(navigator.appName=="Netscape"){
    document.getElementById(ids).addEventListener(e,rel,false)   //--(true
o false) cattura  o bubble--
    }
}
ho trovato questa funzione ma non funziona con opera 8.5
come posso implementare anche opera in questa funzione?
forse cosě?
function attacca(ids,e) {
  if(navigator.appName=="Microsoft Internet Explorer"){
    document.getElementById(ids).attachEvent('on'+e,rel);
    }
  else if(navigator.appName=="Netscape"){
    document.getElementById(ids).addEventListener(e,rel,false)   //--(true
o false) cattura  o bubble--
    }
    else if(navigator.appName=="Opera")
    {
    alert ("opera");
    document.getElementById(ids).addEventListener(e,rel,false)   //--(true
o false) cattura  o bubble--
    }
  }
ho provato ma sembra non funzionare
qualche idea?
ciao e grazie


 ciao e grazie
cosě funziona meno male


 ciao e grazie
cosě funziona meno male


 come posso implementare anche opera in questa funzione?
Se Opera supporta addEventListener, e mi par di si, con l'object checking
sei a posto.
-- 
~ "FINARMENTE LI SFRATTATI AVRANNO UN TETTO SULLA TESTA!
...però tirato ammodino, un tegolo pe' vorta.." (Il vernacoliere)

On Tue, 04 Oct 2005 16:45:09 +0200, aaa wrote:
[stracut]
Dimenticavo... magari per la prossima volta stai un po' attento al quoting:
 
http://wiki.news.nic.it/QuotarBene
Danke. :)
-- 
~ Confondi il mondo, sorridi tutti i lunedě!

 ciao a tutti e buon lavoro
grazie alla vostra competenza e pazienza ho risolto il problema
la funzione che ho fatto non la pubblico perchè molto probabilmente non è
uno spettacolo e non vorrei sviare qualche inesperto come me.
ciao e grazie a tutti
