Je ne comprends pas bien s'il s'agit de doublon avec des données externes, ou avec des données internes au formulaire. Dans ce dernier cas, voici un exemple en javasript:
 <html>
 <head>
 <script language=javascript>
 function check_fields(a_form)
 {
    // Boucle sur tous les élément du formulaire
    for (i = 0; i < a_form.elements.length ; i++) {
       if (a_form.elements[i].type == "text" ) {
          // Test only edit fields
            // Boucle pour comparer ce champ avec les autres
          // pour voir s'il y a des doublons
          for (j = 0; j < a_form.elements.length ; j++) {
             if (i == j) continue;
             if (a_form.elements[j].type != "text" ) continue;
             if (a_form.elements[i].value == a_form.elements[j].value) {
                alert("Doublon. Saisir autre chose." );
                a_form.elements[i].focus();
                return(false);
             }
          }
       }
    }
    // It's ok, submit the form
    a_form.submit();
      return(true);
 }
 </script>
 </head>
 <body>
 <form name="my_form" onsubmit="return check_fields(this)" method=get action="ma_prochaine_page.htm">
 Field 1<input type="text" name="champ1" size="5"><p>
 Field 2<input type="text" name="champ2" size="5"><p>
 <input type="submit" value="Validate">
 </form>
 </body>
 </html>
   | 
Cet exemple marche, je l'ai testé.
Mais si c'est pour comparer avec des données externes, Javascript ne les connait pas et donc ne peut pas vérifier l'existence de doublons.