exception dernier élément array
Bonjour,
Je rencontre un problème lors de la suppression du dernier élément d'une liste :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| function suppr_element(nom_form,liste,elt)
{
// Différentes valeurs possible de elt
// elt = "n" => tous les éléments de la liste
// elt = une valeur
// elt = un tableau
var listeObj = document.forms[nom_form].elements[liste].options;
try{
if (elt == "n")
{
listeObj.length = 0;
}
else
{
if (!is_array(elt))
{
listeObj[elt] = null;
}
else
for(i=0;i<elt.length;i++)
listeObj.remove(elt[i]);
}
}catch(err){ texte_err = "Une exception s'est produite lors de l'exécution de la fonction suppr_element()\n\n";
texte_err+= "Valeurs des paramètres : nom_form=>"+nom_form+",liste=>"+listeObj.length+",elt=>"+elt+"\n\n";
texte_err+= "Nom de l'exception : " + err.name+"\n\n";
texte_err+= "Message d'erreur reçu : " + err.message+"\n\n";
texte_err+= "Merci de contacter le service Informatique.";
alert(texte_err);}
} |
Ce code génère une exception, il affiche "liste=>1143, elt=>1143" et ne peut
pas supprimer un élément sortant de la liste.
Si je rajoute un alert(listeObj.length) il m'affiche un nombre élément = 1144 et la suppression s'effectue sans problème.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function suppr_element(nom_form,liste,elt)
{
// Différentes valeurs possible de elt
// elt = "n" => tous les éléments de la liste
// elt = une valeur
// elt = un tableau
var listeObj = document.forms[nom_form].elements[liste].options;
try{
if (elt == "n")
{
listeObj.length = 0;
}
else
{
if (!is_array(elt))
{
alert(listeObj.length);
listeObj[elt] = null;
}
else
for(i=0;i<elt.length;i++)
listeObj.remove(elt[i]);
}
}catch(err){ texte_err = "Une exception s'est produite lors de l'exécution de la fonction suppr_element()\n\n";
texte_err+= "Valeurs des paramètres : nom_form=>"+nom_form+",liste=>"+listeObj.length+",elt=>"+elt+"\n\n";
texte_err+= "Nom de l'exception : " + err.name+"\n\n";
texte_err+= "Message d'erreur reçu : " + err.message+"\n\n";
texte_err+= "Merci de contacter le service Informatique.";
alert(texte_err);}
} |
Je ne peut pas laisser l'alert et là j'avoue que je comprends rien.
La gestion des exceptions de javascript a-t-elle une particularité ?
Merci de m'apporter vos suggestions. :)