Si vous avez déjà les zones de texte dans un tableau, parcourez le tableau et recherchez les valeurs dupliquées. Ce n'est pas le moyen le plus efficace (c'est O (n) de calculer) pour résoudre le problème (un dictionnaire serait mieux), mais pour un petit nombre de zones de texte c'est le plus simple.
function TestForDuplicates(var Textboxes)
{
for(tb in Textboxes)
{
for(tb2 in Textboxes)
{
if(tb != tb2) // ignore the same textbox...
{
if(tb.value == tb2.value)
alert("The value " + tb.value + " appears more than once.");
}
}
}
}
Si vous avez plus d'environ 10 zones de texte dans votre tableau, une autre approche est de construire une cartographie de combien de fois chaque valeur apparaît:
function FindDuplicates(var Textboxes)
{
var valueList = new Array();
for(tb in Textboxes)
valueList.push(tb.value);
valueList.sort(); // sort values so that duplicates are adjacent
if(valueList.length > 1)
{
for(i = 0; i < valueList.length-1; i++)
if(valueList[i] == valueList[i+1])
alert("The value " + valueList[i] + " appears more than once.");
}
}