Bonjour,

J'ai besoins d'aide au niveau code/algorithme.

Comme vous pouvez le voir mes trois fonctions se ressemblent fortement.
Est il possible de créer une seule fonction général où je puisse passer mes id en paramètre ?
J'ai tenté différente choses sans succès et mes connaissances en javascript et programmation objet me permette pas de voir une solution.

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
            <tr>
                <td class="de_classe" id="acrobatie">O</td>
                <td>Acrobatie</td>
                <td colspan="2">@</td>
                <td>DEX*</td>
                <td id="totalCompetenceAcrobatie"></td>
                <td>=</td>
                <td class="carac_dex" onChange="calculeCompetenceAcrobatie()" id="acrobatie_carac"></td>
                <td>+</td>
                <td>
                    <input type="text" name="acrobatie_maîtrise" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceAcrobatie()" id="acrobatie_maîtrise">
                </td>
                <td>+</td>
                <td>
                    <input type="text" name="acrobatie_divers" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceAcrobatie()" id="acrobatie_divers">
                </td>
            </tr>
 
            <tr>
                <td class="de_classe" id="art_de_la_magie">O</td>
                <td>Art de la magie</td>
                <td colspan="2">@</td>
                <td>INT</td>
                <td id="totalCompetenceArt_de_la_magie"></td>
                <td>=</td>
                <td class="carac_int" onChange="calculeCompetenceArt_de_la_magie()" id="art_de_la_magie_carac"></td>
                <td>+</td>
                <td>
                    <input type="text" name="art_de_la_magie_maîtrise" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceArt_de_la_magie()" id="art_de_la_magie_maîtrise">
                </td>
                <td>+</td>
                <td>
                    <input type="text" name="art_de_la_magie_divers" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceArt_de_la_magie()" id="art_de_la_magie_divers">
                </td>
            </tr>
 
            <tr>
                <td class="de_classe" id="artisanat_I">O</td>
                <td>Artisanat</td>
                <td>@</td>
                <td>(aaa)</td>
                <td>INT</td>
                <td id="totalCompetenceArtisanat_I"></td>
                <td>=</td>
                <td class="carac_int" onChange="calculeCompetenceArtisanat_I()" id="artisanat_I_carac"></td>
                <td>+</td>
                <td>
                    <input type="text" name="artisanat_I_maîtrise" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceArtisanat_I()" id="artisanat_I_maîtrise">
                </td>
                <td>+</td>
                <td>
                    <input type="text" name="artisanat_I_divers" size="2" maxlength="2" pattern="[0-9]{1,2}" value=0 onChange="calculeCompetenceArtisanat_I()" id="artisanat_I_divers">
                </td>
            </tr>

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
function calculeCompetenceAcrobatie() {
    document.getElementById('totalCompetenceAcrobatie').innerHTML = parseInt(document.getElementById('acrobatie_carac').innerHTML)
                                                                  + parseInt(document.form.acrobatie_maîtrise.value)
                                                                  + parseInt(document.form.acrobatie_divers.value);
}
 
function calculeCompetenceArt_de_la_magie() {
    document.getElementById('totalCompetenceArt_de_la_magie').innerHTML = parseInt(document.getElementById('art_de_la_magie_carac').innerHTML)
                                                                        + parseInt(document.form.art_de_la_magie_maîtrise.value)
                                                                        + parseInt(document.form.art_de_la_magie_divers.value);
}
 
function calculeCompetenceArtisanat_I(){
    document.getElementById('totalCompetenceArtisanat_I').innerHTML = parseInt(document.getElementById('artisanat_I_carac').innerHTML)
                                                                    + parseInt(document.form.artisanat_I_maîtrise.value)
                                                                    + parseInt(document.form.artisanat_I_divers.value);
}

Merci de votre aide.