Originariamente inviato da fcaldera
all'onsubmit chiami una funzione, submitIt
il codice che ti ho passato non si trova dentro quella funzione nè viene richiamato da essa.
Si, è vero hai ragione scusami x la gaffe.... modifico così ma non esegue il confronto tra il contentuo dei campi BPT, cioè valida:

BPT_1 = 123
BPT_2 = 123


codice:
function submitIt(frmObj)
{
  for ( var n = 0 ; n < validateTypes.length ; n++ )
    {
      var arr = validateTypes[n];
 
      var parms = arr[1];         // Tipo di parametri da passare alla
                                  // funzione di validazione
 
      var cb = parms.length + 1;  // Numero di parametri supplementari
                                  // da passare alla funzione di validazione
 
      for ( var m = 2 ; m < arr.length ; m += cb )
        {
          var sEval = "var rt = arr[0](frmObj[arr[m]]";
 
          for ( var e = 1 ; e < cb ; e++ )
            {
              switch(parms.substr(e - 1, 1))
                {
                  case "s":  // Il parametro è una stringa
                      sEval += ", '" + arr[m + e] + "'";
                      break;
 
                  case "n":  // Il parametro è un numero (intero o float)
                  case "p":  // Il parametro è uno statement
                      sEval += ", " + arr[m + e];
                      break;
                }
            }
 
          eval(sEval + ");");
 
          // Se il corrente test non è riuscito, termina abortendo l'invio del FORM
          if (!rt) return(false);
        }
    
}


      

//INIZIO TUO CODICE DI CONTROLLO

var namePattern = /^BPT_/;
      var nameFields = {};
      
      var fields = f.getElementsByTagName('input');
      for (var i=0; i<fields.length; i++) 
      
      {
            if (namePattern.test(fields[i].name))
            
            {
                if (fields[i].value in nameFields) 
                
                {
                    alert([fields[i].value, ' è un valore ripetuto.'].join(' '));
                    return false;
                } 
                
                nameFields[fields[i].value] = fields[i].name; 
            }
  }      

 


 
  // Tutte le validazioni sono riuscite, abilita l'invio del FORM
  return(true);
}