Bonjour,

je tente de programmer une appli qui me calcule la puissance nécessaire pour un radiateur en fonction du type de construction et de la pièce.

Code HTML:
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
<html>
<head>
<title>Calcul de déperditions</title>
<script type="text/javascript" src="fonctions.js">
</script>
<link rel="stylesheet" type="text/css" href="Style.css" media="all"/>
</head>
 
<body>
<center><h1>Calcul rapide des déperditions</h1></center>
<form id="monFormulaire">
<!--Tableau-->
<!--Titre des colonnes-->
<table id="montableau" border=3 cellpadding=10>
<tr>
  <th id="construction">Type de construction</th>
  <th id="pieces">Type de pièce</th>
  <th id="temppiece">Température pièce</th>
  <th id="longueurpiece">Longueur pièce</th>
  <th id="largeurpiece">Largeur pièce</th>
  <th id="hauteurpiece">Hauteur pièce</th>
  <th id="resultat">Résultat</th>
</tr>
<!--Contenu des colonnes-->
<tr>
  <td><select id="codeconstr" name="codeconstr"></select></td>
  <td><select id="codepiece" name="codepiece"></select></td>
  <td><input class="nombre" type="text" id="temperature" name="temp"/></td>
  <td><input class="nombre" type="text" id="longueur" name="long"/></td>
  <td><input class="nombre" type="text" id="largeur" name="large"/></td>
  <td><input class="nombre" type="text"  id="hauteur" name="haut"/></td>
  <td><p id="RESULT_0" class="resultat"></p></td>
  <td><input type="button" id="bouton" value="Calculer" name="Calculer" onclick="calcul()" /></td>
</tr>
</table>  
<center>
  <br />
    <input type="button" id="bouton" value="Ajouter une ligne" onclick="addLigne()" />    
    <br /><br />
</form>
</body>
</html>

Code javascript:
Code : 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
var coefpiece=1;
function addLigne()
{
    // Variable d'insertion de nouvelle ligne
    var ligne       = montableau.insertRow(-1);
    // On attribue un numero pour chaque ligne
    var lNum        = 0;
    lNum            = montableau.getElementsByTagName("tr").length;
    if (lNum > 0)
        lNum--;
    // On cree les nouvelles cellules
    var cellule2    = document.createElement("td");
    var cellule3    = document.createElement("td");
    var cellule4    = document.createElement("td");
    var cellule5    = document.createElement("td");
    var cellule6    = document.createElement("td");
    var cellule7    = document.createElement("td");
    var cellule8    = document.createElement("td");
    var cellule9    = document.createElement("td");
    var cellule10    = document.createElement("td");
    // On definit les elements des cellules
    // Recuperation des listes
    var codeConstr   = null;
    try{
        codeConstr = document.createElement('<select name="codeconstr' + num.toString() + '>');
    }
    catch(e){
    }
    if (!codeConstr){
        codeConstr = document.createElement("select");
        codeConstr.name="codeconstr" + lNum.toString();
        codeConstr.id    ="codeconstr";
        codeConstr.value = "1";
    }
    var codePiece   = null;
    try{
        codePiece = document.createElement('<select name="codepiece' + num.toString() + '>');
    }
    catch(e){
    }
 
    if (!codePiece){
        codePiece = document.createElement("select");
        codePiece.name="codepiece" + lNum.toString();
        codePiece.id    ="codepiece";
        codePiece.value = "1";
    }
    var temperature = document.createElement("input");
    temperature.className="nombre";
    temperature.id="temperature";
    temperature.name="temp" + lNum.toString();
    temperature.value = "";
    var LongueurPiece = document.createElement("input");
    LongueurPiece.className="nombre";
    LongueurPiece.id="longueur";
    LongueurPiece.name="long" + lNum.toString();
    LongueurPiece.value = "";
    var LargeurPiece = document.createElement("input");
    LargeurPiece.className="nombre";
    LargeurPiece.id="largeur";
    LargeurPiece.name="large" + lNum.toString();
    LargeurPiece.value = "";
    var Hauteur = document.createElement("input");
    Hauteur.className="nombre";
    Hauteur.id="hauteur";
    Hauteur.name="haut" + lNum.toString();
    Hauteur.value = "";
    // Resultat
    var resultat = document.createElement("p");
    resultat.id="RESULT_" + lNum.toString();
    resultat.style.color="#DE1F1F";
    resultat.style.textAlign="center";
    // Les boutons
    var calculer = document.createElement("input");
    calculer.type="button";
    calculer.id="bouton";
    calculer.value="Calculer";
    calculer.name="Calculer"+lNum.toString();;
    calculer.onclick = function() { calcul(lNum.toString()) };
    var supprimer = document.createElement("input");
    supprimer.type="image";
    supprimer.src="supprimer.png";
    supprimer.name="SupLigne"+lNum.toString();
    supprimer.className="supprimer";
    supprimer.onclick= function () { deleteRow(this) ;};
    // On associe les elements aux cellules
    cellule2.appendChild(codeConstr);
    cellule3.appendChild(codePiece);
    cellule4.appendChild(temperature);
    cellule5.appendChild(LongueurPiece);
    cellule6.appendChild(LargeurPiece);
    cellule7.appendChild(Hauteur);
    cellule8.appendChild(resultat);
    cellule9.appendChild(calculer);
    cellule10.appendChild(supprimer);
    // On associe les cellules a la nouvelle ligne
    ligne.appendChild(cellule2);
    ligne.appendChild(cellule3);
    ligne.appendChild(cellule4);
    ligne.appendChild(cellule5);
    ligne.appendChild(cellule6);
    ligne.appendChild(cellule7);
    ligne.appendChild(cellule8);
    ligne.appendChild(cellule9);
    ligne.appendChild(cellule10);
    ListePut(lNum.toString());
}
function remplircases(){
//  Options du SELECT CONSTRUCTION
var Construction = new Array();
Construction[0] = new Array("Construction", "Construction");
Construction[1] = new Array("Rénovation", "Rénovation");
var myObj1 = document.getElementById('codeconstr');
for(var j=0; j<Construction.length; j++) 
{
//Création d'un nouvel Option
var myOption1 = new Option(Construction[j][0], Construction[j][1]);
//Ajout de l'option dans le select
myObj1.options[myObj1.length] = myOption1;
//<option value="Option1">Valeur1</option>
}
//  Options du SELECT PIECES
var Pieces = new Array();
Pieces[0] = new Array("Chambre", "Chambre");
Pieces[1] = new Array("Cuisine", "Cuisine");
Pieces[2] = new Array("Salon", "Salon");
Pieces[3] = new Array("Salle de bain", "Salle de bain");
Pieces[4] = new Array("Hall", "Hall");
Pieces[5] = new Array("WC", "WC");
Pieces[6] = new Array("Bureau", "Bureau");
var myObj = document.getElementById('codepiece');
for(var i=0; i<Pieces.length; i++){
//Création d'un nouvel Option
var myOption = new Option(Pieces[i][0], Pieces[i][1]);
//Ajout de l'option dans le select
myObj.options[myObj.length] = myOption;
//<option value="Option1">Valeur1</option>
}
}
window.onload=remplircases;
function coefficient() {
var maison = document.forms('monFormulaire').elements["codeconstr"].value;
if (maison =="Construction") {nouvelle();}
else { ancienne();}
document.write(maison,"<p>");
document.write(piece,"<p>");
}
var piece = document.getElementsByName("codepiece").value;
function nouvelle() {
switch(piece) {
case "chambre" : coefpiece=60; break;
case "bureau" : coefpiece=62,5; break;
case "salle de bain" : coefpiece=75; break;
case "salon" : coefpiece=67,5; break;
case "hall" : coefpiece=65; break;
case "wc" : coefpiece=65; break;
case "cuisine" : coefpiece=65; break;
}
}
function ancienne(){
switch(piece) {
case "chambre" : coefpiece=48; break;
case "bureau" : coefpiece=52; break;
case "salle de bain" : coefpiece=60; break;
case "salon" : coefpiece=54; break;
case "hall" : coefpiece=52; break;
case "wc" : coefpiece=52; break;
case "cuisine" : coefpiece=52; break;
}
}
// Suppression d'une ligne 
function deleteRow(r) {
    var i = r.parentNode.parentNode.rowIndex;
    document.getElementById('montableau').deleteRow(i);
}
// Calcul de la puissance
function calcul() {
    coefficient();
    var temp1 = (document.getElementsByName("long").value * document.getElementsByName("large").value * document.getElementsByName("haut").value * coefpiece * 0.86 * 100)/100;
    //document.getElementById("RESULT_").value= temp1;
    document.write(coefpiece);
    document.write(temp1);
}
Premier problème: lors de l'ajout d'une ligne, les 2 select n'affiche plus rien

Deuxième problème : Je n'arrive pas à récupérer la valeur de l'option "pièce" et donc pas le "coefpiece".

Troisième problème : je n'arrive pas à afficher le résultat dans sa cellule.

Pouvez-vous m'aider svp?

Merci d'avance.