vero, non è possibile (x ora) farlo con i css
però proprio a voler ottenere il risultato con minimo sforzo puoi includere questo javascript esterno che, almeno con i browser moderni, fa quello che chiedi (senza controindicazioni, cioè puoi avere qualsiasi altro gestore evento sul body o sugli input, compresi onfocus/onblur)
gestori_evento_dinamici.js
nella paginacodice:<!-- function changeColor(e,clss){ if(!e) e=window.event; var src=(e.target) ? e.target: e.srcElement; if(src.className) src.className=clss; } function init(){ if(document.getElementsByTagName && typeof(document.getElementsByTagName("BODY")[0].className)!='undefined'){ var inp=document.getElementsByTagName("INPUT"); for(var k=0;k<inp.length;k++){ if(inp[k].type=='text' && inp[k].className=='formfield'){ _attachToEvent(inp[k], "focus", function(e){changeColor(e,'formfield_focus')}); _attachToEvent(inp[k], "blur", function(e){changeColor(e,'formfield')}); } } } } function _attachToEvent (obj, name, func) { if(obj.addEventListener) obj.addEventListener(name, func, false); else if(obj.attachEvent) obj.attachEvent("on"+name, func); } _attachToEvent(window, "load", init); //-->
ciaocodice:<style type="text/css"> .formfield { background-color: #ffffff; } .formfield_focus { background-color: #00ff00; } </style> <script type="text/javascript" src="gestori_evento_dinamici.js"></script> ... <form> <input type="text" class="classe_non_interessata" name="campo0" /> <input type="text" class="formfield" name="campo1" /> <input type="text" class="formfield" name="campon" onblur="alert(this.value)" /> </form>

Rispondi quotando