Bonjour,
il y a effectivement 2 manières, au moins de tester l'existant.
1/ à chaque saisie on parcours les lignes ajoutées et l'on vérifie l'existant
2/ à chaque saisie on parcours une liste mise à jour au fil de l'eau et l'on vérifie l'existant
c'est cette 2ème méthodes que je t'ai mis, elle présente l'avantage d'être plus simple et plus légère à mettre en oeuvre et plus rapide que le parcours de la
TABLE créer.
Il faut effectivement que la liste soit déclarée en variable globale pour ne pas être perdue entre chaque accès à la fonction.
Le principe de construction est le suivant
- au début la liste est vide
- à la 1st saisie on ajoute la saisie dans la liste, la vérification se fait mais la saisie n'existera forcément pas
- aux saisies suivantes si la valeur est déjà dans la liste on ne fait rien, sinon on crée la nouvelle ligne dans la table
Dans l'exemple que je t'ai mis cela pourrait se traduire par
Code Javascript :
var Liste = [];
//---------------
function fctAdd(){
//-- Initialisation
var oText = document.getElementById( 'I_SAISIE');
var szTmp = oText.value;
var nb = Liste.length;
//-- parcours tous les elements de Liste
for( var i =0 ; i < nb; i++){
//-- existe deja ?
if( szTmp == Liste[i]){
//-- OUI on previens
alert('ERREUR\n[' + szTmp + '] est déjà dans la liste');
//-- vide le champ
oText.value = "";
//-- remets le focus
oText.focus();
//-- on quitte la fonction
return( false);
}
}
//-- on ajoute
Liste[nb] = szTmp;
//-------------------------------------------------//
//-- CREATION d'une nouvelle ligne dans la TABLE --//
//-------------------------------------------------//
}tu peux également te servir d'un
return( true); pour continuer dans la fonction appelante.
Espérant avoir été un peu plus clair.
;O)