Si, è vero hai ragione scusami x la gaffe.... modifico così ma non esegue il confronto tra il contentuo dei campi BPT, cioè valida: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.
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); }

Rispondi quotando