Problème avec un formulaire

Fermé
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 - 21 juin 2007 à 16:44
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 - 22 juin 2007 à 15:05
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 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
21 juin 2007 à 16:47
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 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
21 juin 2007 à 17:52
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
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 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11 > Alain42
21 juin 2007 à 23:19
ok
merci beaucoup
0
Alain42 > MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008
22 juin 2007 à 13:39
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 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11 > Alain42
22 juin 2007 à 15:05
MERCI, beaucoup
pour l'aide, cela me convient énormément
0