Ciao... ho un problema che mi si è riscontrato molte volte e non so risolverlo... devo dire anche che è un po complesso da spiegare.
Vi scrivo il codice di un javascrip che sto creando preso da un articolo sulla gestione dei form:
codice:
/*-------------------------------------------------------------------
					OGGETTO VALIDAZIONE FORM
-------------------------------------------------------------------*/
function objForm(){

 this.toForm=function(a,b){
 			   var d = eval('document.'+a+'.'+b)
 			   d.focus();
 			 };
 this.Focus=function(){
 			 var inp=document.getElementsByTagName("input");
 			 for(var i=0;i<inp.length;i++){
  			  inp[i].onfocus=function(){this.style.backgroundColor="#FFC"};
			  inp[i].onblur=function(){this.style.backgroundColor="#FFF"};
			 }
 			};
 this.Validate=function(){
				var labels=document.getElementsByTagName("label");
				var validationOK=true;
				for(var i=0;i<labels.length;i++){
   				 var lab=labels[i];
   				 var n=lab.innerHTML.indexOf("*");
   				 //alert(n)
   				 if(lab.className=="req2") lab.className="req";
   				 if(n!=-1){
      			  var inp=lab.getElementsByTagName("input");
      			  if(inp.length>0 && inp[0].value==""){  //input vuoto
       			   lab.className="req2";
            	   validationOK=false;
          		  }
      			  if(inp.length>0 && inp[0].id=="email"){ //email non valida
      			   if(!this.isEmail(inp[0].value)){
        		    lab.className="req2";
        		    validationOK=false;
        		   }
       			  }
       			  if(inp.length>0 && inp[0].type=="checkbox" && inp[0].checked==false){
           		   lab.className="req2";  //checkbox non selezionata
           		   validationOK=false;
            	  }            
       			  var sel=lab.getElementsByTagName("select"); //select con indice zero
      			  if(sel.length>0 && sel[0].selectedIndex==0){
         		   lab.className="req2";
         		   validationOK=false;
          		  }
       			 }
   				}
				return(validationOK);
 			   }
			
			
// controlli singoli
 this.isEmail=function(str){
			   var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
			   var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
			   return (!r1.test(str) && r2.test(str));
			  };
}

/*------------------------------------------------------------------------------------
										AVVIO OGGETTO
------------------------------------------------------------------------------------*/
 window.onload=function(){
  var form_H=new objForm();
  form_H.toForm('myform','nome');
  if(document.getElementsByTagName) form_H.Focus();
  if(!document.getElementById || !document.createElement) return;
 
  document.forms[0].onsubmit=function(){
   if(form_H.Validate())
    document.forms[0].submit();
   else{
    alert("Attenzione: alcuni campi non sono stati riempiti o l\' indirizzo email fornito non è valido.");
    return(false);
   }
  }
 }
Lo script mi sembra semplice e funziona; io ho fatto solo qualche piccola modifica dall'originale inglobandolo in un oggetto e poco altro. Ora vorrei inglobare anche la seconda parte: vorrei che il il window.onload fosse richiamato al momento dell'istanza dell'oggetto; quindi io vorrei avere in futuro un oggetto unico che al momento della creazione
codice:
var ogg=new objForm()
mi facesse attivare il tutto come o con il window.onload.
Mi rimane un dubbio... per il futuro: come faccio se ho 2 richiami window.onload