Problème avec un formulaire

MISS97200 Messages postés 187 Statut Membre -  
MISS97200 Messages postés 187 Statut Membre -
bonjour, je suis une débutante et j'aimerais de l'aide pour mon formulaire. j'ai un certain nombre de critères auquel l'utilisateur attribue une note en la sélectionnant dans une liste déroulante. j'aimerai faire la moyenne des notes que j'affiche dans un autre champ.
Pouvez vous m'aider s'il vous plait?
Merci

1 réponse

sfel Messages postés 1645 Statut Membre 430
 
Il te faut mémoriser le snotes rentrées par les précédents utilisateurs dans une base de données pour ca.

à moins que tu veuille faire la moyenne des notes que lui a rentré, dans quel cas donne ton code, c'es tfaisable.
0
MISS97200 Messages postés 187 Statut Membre 11
 
je me suis surement mal exprimé.
En fait je ne veux pas qu'il mémorise pour chaque utilisateur.
je veux que par exemple quand tu choisis une note dans une liste déroulante pour 6 critères, en bas il y a un champ nommé note global qui t'affiche la moyenne des notes choisies. et je veux que cela se fasse automatiquement sans que l'on utilise de bouton pour faire la moyenne. On m'a parlé de getElementsByName mais je ne sais pas l'utiliser. Si quelqu'un peut m'aider.
merci
0
Alain42
 
Mets dans le <select name="liste1" id="liste1" onChange=fonctCalcul('liste1')>
tu viendras lire la val selectionnee = document.nom_formulaire.liste1.value

etc...

mets le champ resultat <input type="text" name="resultat" id="resultat">

Tu viendra y écrire depuis la fct Javascript fonctCalcul par document.getElementById('resultat').innerHTML=$resultat_a_ecrire

Pour faire une moyenne il faudra bien a un moment que tu memorises, ou que tu lises toputes les listes et prends seulement celles >0.
0
MISS97200 Messages postés 187 Statut Membre 11 > Alain42
 
ok
merci beaucoup
0
Alain42 > MISS97200 Messages postés 187 Statut Membre
 
Au cas ou tu reviennes voir sur le forum, je t'ai fait un petit script: essaye

<html>
<head>
<script language="javascript" type="text/javascript">
function calcMoyenne() {
var total=Number(0);
var nb_notes=Number(0)
// On boucle tous les éléments du formulaire
//clacul moyenne en ne prenant que celles deja chosies,donc diff de -1
for (var i=0; i<test.elements.length;i++){
if (test.elements[i].type !='text' && test.elements[i].value>=0){
total +=Number(test.elements[i].value);
nb_notes ++;
}
}
moyenne=Math.round(((total / nb_notes)*100))/100;
// afichage resultat dans unn champ non modifiable du formulaire
test.result.value=moyenne;
// ou dans un calque dans la page
obj=document.getElementById('resultat');
obj.innerHTML="Moyenne= "+moyenne+" sur: "+nb_notes+" notes";
}
</script>
</head>
<body >
<form name="test" id="test">
LISTE 1<br>
<select name="liste1" id="liste1" onChange="calcMoyenne()">
<option value=-1>Choisissez</option>
<option value=0>Note 0</option>
<option value=1>Note 1</option>
<option value=2>Note 2</option>
<option value=3>Note 3</option>
<option value=4>Note 4</option>
<option value=5>Note 5</option>
</select>
</select>
<br><br>LISTE 2<br>
<select name="liste2" id="liste1" onChange="calcMoyenne()">
<option value=-1>Choisissez</option>
<option value="0">Note 0</option>
<option value="1">Note 1</option>
<option value="2">Note 2</option>
<option value="3">Note 3</option>
<option value="4">Note 4</option>
<option value="5">Note 5</option>
</select>
<br><br>LISTE 3<br>
<select name="liste3" id="liste1" onChange="calcMoyenne()">
<option value=-1>Choisissez</option>
<option value="0">Note 0</option>
<option value="1">Note 1</option>
<option value="2">Note 2</option>
<option value="3">Note 3</option>
<option value="4">Note 4</option>
<option value="5">Note 5</option>
</select>
<br><br>LISTE 4<br>
<select name="liste4" id="liste1" onChange="calcMoyenne()">
<option value=-1>Choisissez</option>
<option value="0">Note 0</option>
<option value="1">Note 1</option>
<option value="2">Note 2</option>
<option value="3">Note 3</option>
<option value="4">Note 4</option>
<option value="5">Note 5</option>
</select>
<br><br>

Moyenne:<input type="text" name="result" id="result" value="" size="6" disabled>
</form>
<div id="resultat" style="font-family: verdana, times, sans-serif ; color: green ; font-size: 12pt ; text-decoration: underline ; background-color: #FFFFFF ;">
<!-- La sera affiche le resultat -->
</div>
</body>
</html>

Est ce que ça te va ?
0
MISS97200 Messages postés 187 Statut Membre 11 > Alain42
 
MERCI, beaucoup
pour l'aide, cela me convient énormément
0