J'ai un formulaire comportant 26 questions, qui ont toutes des groupes de boutons radio comme choix de réponse pour l'utilisateur (il calcule le facteur de risque pour une espèce végétale envahissante spécifique sur une propriété donnée). À la fin, la valeur sélectionnée dans chaque groupe de boutons radio est additionnée.
Ce qui complique les choses, c'est que l'utilisateur a la possibilité de remplir le questionnaire pour 5 espèces de plantes envahissantes différentes ; en d'autres termes, j'ai 26 lignes et 5 colonnes, et à la fin, je dois comptabiliser chaque colonne séparément. Pour ce faire, j'ai utilisé getElementsByClassName, et cela fonctionne à merveille dans Firefox, mais pas dans IE. Malheureusement, le client pour lequel je fais ce travail utilise IE comme norme d'utilisation. J'ai essayé un certain nombre de fonctions génériques getElementsByClassName affichées sur le Web, mais elles ne semblent pas fonctionner ; j'obtiens toujours Error on Page.
La fonction réussie dans Firefox est la suivante :
function addSpecies1(frm, resultHolder)
{
var elems = frm.getElementsByClassName('species1'),
calculator = elems.length,
total = 0;
for(var i=0; i<calculator; i++)
if(elems[i].type=='radio' && elems[i].checked && !isNaN(elems[i].value))
total+=parseFloat(elems[i].value);
resultHolder.value=total;
}
Il y a probablement une réponse très simple (je suis un débutant !) mais je me tape la tête contre le mur depuis plus d'une semaine...